我对 D 相当陌生,并希望将 allegro 用于图形。我也想用 dub 来构建我的项目。但是,在运行
dub add allegro
(https://code.dlang.org/packages/allegro)并尝试编译下面的源代码(使用dub
)后,我得到一个Error: linker exited with status 1
. 原因?undefined reference to `al_run_main
和undefined reference to `al_install_system
。
示例代码是
import allegro5.allegro;
void main()
{
al_run_allegro(
{
al_init();
//your code goes here
return 0;
});
}
我尝试build_lib_dmd.sh
从我的项目文件夹(复制到 allegro5 文件夹后)和 dub 安装 dallegro 的文件夹中运行,但这没有区别。包中包含的示例可以使用 成功构建build_example_dmd.sh
和运行./example
。如果我将 allegro5 目录复制到我的项目中,我可以使用dmd source/app.d allegro5/*.d allegro/internal/*.d
(这是 build_lib_dmd 所做的)编译我的程序,但我想使用 dub(并且我不想在我的项目中使用 allegro 库)。
我试过dub add-path allegro5
了,但什么也没做。我错过了什么?