2012-09-16 3 views
0

내 빌드 스크립트에 this Premake4 script for wxWidgets을 사용하고 wxWidgets에 연결하는 경우 :참조 오류 정적

wx_config {Unicode="yes", Version="2.9", Libs="core,aui,media,html", WindowsCompiler="gcc", Static="yes"} 

그러나 CodeBlocks 각각는 MinGW 출력 많은 오류 :

wx\lib\gcc_lib/libwxbase29u.a(baselib_filename.o):filename.cpp:(.text+0x5371): undefined reference to `[email protected]' 
wx\lib\gcc_lib/libwxbase29u.a(baselib_filename.o):filename.cpp:(.text+0x5390): undefined reference to `IID_IPersistFile' 
wx\lib\gcc_lib/libwxmsw29u_core.a(corelib_window.o):window.cpp:(.text+0x7cc9): undefined reference to `wxEVT_POWER_SUSPEND_CANCEL' 
wx\lib\gcc_lib/libwxmsw29u_core.a(corelib_window.o):window.cpp:(.text+0x7cf9): undefined reference to `vtable for wxPowerEvent' 
wx\lib\gcc_lib/libwxmsw29u_core.a(corelib_window.o):window.cpp:(.text+0x7d55): undefined reference to `wxEVT_POWER_SUSPENDED' 
wx\lib\gcc_lib/libwxmsw29u_core.a(corelib_window.o):window.cpp:(.text+0x7d61): undefined reference to `wxEVT_POWER_SUSPENDING' 
wx\lib\gcc_lib/libwxmsw29u_core.a(corelib_window.o):window.cpp:(.text+0x7d6d): undefined reference to `wxEVT_POWER_RESUME' 
wx\lib\gcc_lib/libwxmsw29u_core.a(corelib_window.o):window.cpp:(.text+0x7f18): undefined reference to `vtable for wxPowerEvent' 
... 

당신은 여기에 모든 링커 오류를 볼 수 있습니다 http://pastebin.com/UGSRg4DX

wxWidgets 버그 신고에 언급 된 사람 (링크가 손실 됨) 도서관 주문이이 문제의 원인입니다. 그러나 그는 어떤 도서관을 먼저 배치해야하는지 말하지 않았다.

답변

2

정확히 this one과 같은 문제인 것 같습니다. 나는. 당신은 적절한 순서로 프리 ​​케이크 스크립트에 라이브러리를 넣어야합니다 : 중요한 것은 "핵심"이 마지막 것입니다. 또한, 암시 적으로 추가 된 것인지 모르겠지만 일반적으로 맨 끝에 "기본"이 필요할 수도 있습니다.

+0

감사합니다. Codeblocks 내 라이브러리 주문은'wxpngd, wxzlibd, wxmsw29ud_adv, wxmsw29ud_core, wxbase29ud'이지만'ImageList_ *'및'png_ *'함수에 대한 정의되지 않은 참조 오류가 발생합니다. – ComFreek

+0

'ImageList_'는 표준'comctl32.lib' 라이브러리의 것입니다. 'png_'는 물론'libpng'입니다. 둘 다 연결해야합니다 (둘 다 끝까지 넣어야합니다). –

+0

'libpng'는'wxpngd'와 같은가요? 나는 그것들을 Codeblocks의 라이브러리리스트에 넣었지만, 이제는 OleInitialize 참조 에러를 얻지 못했습니다. – ComFreek