我得到了allegro5的設置,而簡單的程序(如顯示一個窗口,填充黑色背景)工作正常。當我嘗試導入其他標題(如本機對話框)時,我遇到了問題。例如,編譯這段代碼Allegro本機對話框不被識別
#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
,看到其他地方的建議,並認爲我會給它一個鏡頭。
Allegro 5有許多可選組件。您是否構建了這些可選組件? –
@NicolBolas頭文件位於/ usr/local/include/allegro5,這是否意味着它的內置?當我做一個cmake/make/make install時,我從來沒有做過任何特別的事情,所以可能是這樣。 – Puzzler3141