您應該使用wx-config --cxxflags和wx-config --libs來獲取編譯所需的包含路徑,標誌和庫。
詳細說明:您需要告訴編譯器在哪裏查找包含文件以及需要鏈接哪些庫。 wx-config是一個便利的程序,它會給你提供這些信息。在我的系統從WX-config中的輸出是這樣的:
-I/usr/local/lib/wx/include/gtk2-unicode-2.9 -I/usr/local/include/wx-2.9 -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXGTK__ -pthread -L/usr/local/lib -pthread -lwx_gtk2u_xrc-2.9 -lwx_gtk2u_html-2.9 -lwx_gtk2u_qa-2.9 -lwx_gtk2u_adv-2.9 -lwx_gtk2u_core-2.9 -lwx_baseu_xml-2.9 -lwx_baseu_net-2.9 -lwx_baseu-2.9
讓我們藉此簡約wxWidgets的應用:
gcc OUTPUT_OF_WX-CONFIG test.cpp -o test
:
#include <wx/app.h>
#include <wx/frame.h>
/** Main application class.
* This class is derived from the main wxWidgets application class.
*/
class MyApp : public wxApp
{
public:
/// Initialization function. Called at startup.
virtual bool OnInit();
virtual ~MyApp();
};
DECLARE_APP(MyApp);
IMPLEMENT_APP(MyApp);
bool MyApp::OnInit()
{
if (!wxApp::OnInit())
return false;
wxFrame* MainFrame = new wxFrame(NULL, wxID_ANY, wxT("MyApp"));
MainFrame->Show();
return true;
}
MyApp::~MyApp() {}
您可以使用下面的調用編譯這個其中OUTPUT_OF_WX-CONFIG是上面的標誌和庫目錄,test.cpp包含上述源代碼。如果你的wxWidgets安裝設置正確,這應該編譯並運行良好(將顯示一個空的窗口)。
只需少量添加:你可以在它們周圍使用wx-config --cxxflags和wx-config --libs作爲編譯器和鏈接器標誌。 ''被shell的內部命令輸出取代。 –
感謝您的幫助,我現在就解決它。gcc 4.6必須使用g ++ -o src src.cpp'wx-config --cxxflags --libs'來編譯它。如果我使用g ++'wxconfig --cxxflags --libs'-o xx xx.cpp。它不會成功 – cwh5635