我设置了 allegro5,简单的程序(比如显示一个窗口,用黑色背景填充它)工作正常。但是,当我尝试导入其他标题(如本机对话框)时,我遇到了问题。例如,在编译此代码时
#include <allegro5/allegro.h>
#include <allegro5/allegro_native_dialog.h>
int main(){
if(al_init()) {
al_show_native_message_box(al_get_current_display(),
"Window Title",
"Content Title",
"The error message here",
NULL, ALLEGRO_MESSAGEBOX_ERROR);
return 0;
}
return 0;
}
像这样
g++ -L/usr/local/lib -L/usr/lib -o "Allegro" ./main.o -lallegro_main -lallegro
我收到这个错误
Undefined symbols for architecture x86_64:
"_al_show_native_message_box", referenced from:
_al_mangled_main() in main.o
知道谁来解决这个问题吗?我很肯定所有头文件都存在,并且 /usr/local/libs 中似乎有适当的库。
编辑:我还尝试将 -lallegro_native_dialog 标志添加到 g++,但无济于事。取而代之的是错误library not found for -lallegro_native_dialog
提示,在其他地方看到了建议,并认为我会试一试。