2013-01-10 3 views
0

알레그로 5를 설정했고, 간단한 프로그램 (예 : 검은 색 배경으로 채우는 것)이 잘 작동합니다. 하지만 다른 헤더 (예 : 기본 대화 상자)를 가져 오려고하면 문제가 발생합니다. 예를 들면, 나는이 오류알레그로 네이티브 대화를 인식하지 못했습니다.

Undefined symbols for architecture x86_64: 
    "_al_show_native_message_box", referenced from: 
     _al_mangled_main()  in main.o 

이 문제를 해결하기 위해 어떤 아이디어를 얻을이 코드 때문에

g++ -L/usr/local/lib -L/usr/lib -o "Allegro" ./main.o -lallegro_main -lallegro

같은

#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; 
} 

를 컴파일 할 때? 나는 모든 헤더 파일이 존재한다는 것을 긍정적이며,/usr/local/libs에 적절한 라이브러리가있는 것 같다.

EDIT : g ++에 -lallegro_native_dialog 플래그를 추가해 보았습니다. 대신 library not found for -lallegro_native_dialog이라는 오류 메시지가 표시되면서 다른 곳에서 의견을 보았습니다.

+0

Allegro 5에는 여러 가지 선택적 구성 요소가 있습니다. 이러한 선택적 구성 요소를 구축 했습니까? –

+0

@NicolBolas 헤더 파일은/usr/local/include/allegro5에 있습니다. 이것은 빌드 된 것을 의미합니까? 내가 cmake/make/make를 설치했을 때 나는 특별한 일을하지 않았기 때문에 그럴 수도있다. – Puzzler3141

답변

2

그것은이다 -lallegro_dialog-lallegro_native_dialog!

+0

그리고 이것이 리눅스라면'pkg-config'를 사용해야합니다 – Matthew

+0

@Matthew 저는 Mac에 있습니다, 안타깝게도 pkg-config는 작동하지 않습니다 : – Puzzler3141

관련 문제