2011-08-06 36 views
0

我試圖編譯一個基於wxWidgets庫的GUI程序。我收到了很多未定義的「某些東西」的引用。我試圖在QMAKE的LIBS變量上手動添加一些庫,但沒有成功。我如何將所有wxWidgets庫添加到QMake,而無需對每個庫進行硬編碼?以下是我的.pro文件。QMake和wxWidgets(外部庫)

# simple.pro 
TARGET = sample 

HEADERS += main.h simple.h 
SOURCES += main.cpp simple.cpp 

LIBS += -LC:/SourceCode/Libraries/wxWidgets2.8/lib/gcc_dll/wxmsw28_core_gcc.dll \ 
     -LC:/SourceCode/Libraries/wxWidgets2.8/lib/gcc_dll/wxmsw28_gcc.dll \ 
     -LC:/SourceCode/Libraries/wxWidgets2.8/lib/gcc_dll/wxmsw28_aui_gcc.dll 

INCLUDEPATH += C:/SourceCode/Libraries/wxWidgets2.8/include 

CONFIG += release 

的錯誤是以下形式:

釋放/ simple.o:simple.cpp :(RDATA $ _ZTV6Simple [虛函數表爲 簡單] + 0×320):未定義參照 ` wxFrameBase :: SetStatusBar(wxStatusBar *)'

+0

你得到的錯誤是什麼?只是好奇,但爲什麼使用wxWidgets,當你似乎有Qt在你的處置? – Bart

+0

示例錯誤消息:release/simple.o:simple.cpp :(.rdata $ _ZTV6Simple [簡單的vtable] + 0x320):未定義對'wxFrameBase :: SetStatusBar(wxStatusBar *)'的引用。這只是許多同類錯誤消息中的一個。 – Amani

+0

順便說一句,你不應該嘗試鏈接到DLL,但針對其對應的.lib文件 – Bart

回答

0

首先,您需要使用.a文件添加到鏈接器。

然後你需要定義WXUSINGDLL,如果你鏈接到共享庫。

此外,你忘了

wxbase29u.a 

希望有所幫助。