2012-09-12 12 views
0

我將源代碼下載到最新的wx,並設法無任何問題地進行編譯。wxWidgets大量未定義的引用

配置有:

../configure --enable-optimise --enable-stl --enable-unicode --enable-threads --enable-static --disable-shared --prefix=/usr/local 

當我嘗試編譯this例如有:

g++-4.8 `wx-config --libs` `wx-config --cxxflags` test.cpp 

我得到了很多不確定的參考文獻的(全名單here

我怎樣才能讓這個工作?

+0

你可以測試以下?: g ++'wx-config --cppflags''wx-config --libs' test.cpp – FacundoGFlores

+0

同樣的錯誤(我加了需要',沒有它就無法運行) – user1233963

+0

如果你在linux下,你的連接器有問題,確保你之前已經安裝了wx庫,使用:wx --version進行測試。回想一下,您必須將庫添加到LD_LIBRARY以配置動態鏈接器。 – FacundoGFlores

回答

1

當使用靜態庫,爲你做(因爲在configure命令行--disable-shared),該庫必須引用這些目標文件後,來到(這是所有的Unix十歲上下的接頭,絕對與一般規則GNU ld)。所以,正確的命令行是

g++-4.8 `wx-config --cxxflags` test.cpp `wx-config --libs` 

,或者只是爲了保持它短,因爲它並沒有無論哪裏編譯標誌出現:

g++-4.8 test.cpp `wx-config --cxxflags --libs` 
+0

工作正常!非常感謝 ! – user1233963

0

您需要指定wx庫,以便鏈接器可以解析引用。

+0

'wx-config --libs'' wx-config --cxxflags'那樣做 – user1233963