【问题标题】:Allegro native dialogues not recognizedAllegro 原生对话无法识别
【发布时间】:2013-01-10 01:32:29
【问题描述】:

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

【问题讨论】:

  • Allegro 5 有许多可选组件。您是否构建了这些可选组件?
  • @NicolBolas 头文件在/usr/local/include/allegro5 中,是不是已经构建好了?当我进行 cmake/make/make install 时,我从来没有做过任何特别的事情,所以可能就是这样。

标签: c++ allegro


【解决方案1】:

这是-lallegro_dialog 不是-lallegro_native_dialog

【讨论】:

  • 如果这是Linux,你应该使用pkg-config
猜你喜欢
  • 2018-08-14
  • 2017-12-27
  • 1970-01-01
  • 1970-01-01
  • 2016-05-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多