0

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、他の場所で提案を見て、私がそれを試してみようと思いました。

4

1 に答える 1

2

そうじゃ-lallegro_dialogない!-lallegro_native_dialog

于 2013-01-10T03:53:28.903 に答える