【发布时间】:2021-11-09 06:21:09
【问题描述】:
我对 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;
});
}
我尝试从我的项目文件夹(复制到 allegro5 文件夹后)和 dub 安装 dallegro 的文件夹中运行 build_lib_dmd.sh,但这没有区别。包中包含的示例可以使用build_example_dmd.sh 成功构建并使用./example 运行。如果我将 allegro5 目录复制到我的项目中,我可以使用 dmd source/app.d allegro5/*.d allegro/internal/*.d 编译我的程序(这是 build_lib_dmd 所做的),但我想使用 dub(并且我不想在我的项目中使用 allegro 库)。
我试过dub add-path allegro5,但什么也没做。我错过了什么?
【问题讨论】: