Ошибки ссылок при статической привязке wxWidgets

я использую этот скрипт Premake4 для 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 `CoCreateInstance@20'
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(ссылка потеряна) что заказ библиотеки вызывает эту проблему. Но он не сказал, какую библиотеку нужно поставить первой.

0

Решение

Это выглядит точно так же, как проблема этот. То есть вам нужно поместить библиотеки в вашем скрипте premake в правильном порядке: aui,media,html,core (важно то, что «ядро» — последнее). Кроме того, я не знаю, возможно ли это добавить неявно, но обычно вам также понадобится «база» в самом конце.

2

Другие решения

Других решений пока нет …