Я настроил 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
Я увидел это предложение в другом месте и подумал, что я попробую.
Это -lallegro_dialog
не -lallegro_native_dialog
!
Других решений пока нет …