0

ビルド スクリプトで wxWidgets にこの Premake4 スクリプトを使用しています。

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 のバグ レポート(リンクが失われました)で、ライブラリの順序がこの問題の原因であると述べた人がいます。しかし、どのライブラリを最初に配置する必要があるかについては言及しませんでした。

4

1 に答える 1

2

これは、これとまったく同じ問題のように見えます。つまり、正しい順序でプリメイク スクリプトにライブラリを配置する必要がありますaui,media,html,core(重要なことは、「コア」が最後のものであるということです)。また、おそらく暗黙的に追加されているかどうかはわかりませんが、通常は最後に「ベース」も必要です。

于 2012-09-17T12:04:24.920 に答える