我设置了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中似乎有合适的库。
编辑:我还尝试向g++添加一个-lallegro_native_dialog标志,但没有成功。相反,我得到了一个错误,说library not found for -lallegro_native_dialog,我在别处看到了这个建议,我想我应该试一试。
发布于 2013-01-10 11:53:29
这是-lallegro_dialog不是-lallegro_native_dialog!
https://stackoverflow.com/questions/14249456
复制相似问题