Allegro本机对话无法识别

时间:2013-01-10 01:32:30

标签: c++ allegro

我设置了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的错误,在其他地方看到了这个建议并认为我会试一试。

1 个答案:

答案 0 :(得分:2)

-lallegro_dialog而不是-lallegro_native_dialog