我目前使用CodeLite作爲我的IDE for C++。 IDE中有許多功能,我喜歡使用,界面非常簡單。CodeLite未使用全局編譯設置或項目編譯設置
最近,我將我的代碼從wxWigets從3.0移動到3.1。有許多函數是3.1所獨有的,我發現它對於開發我的C++應用程序非常有幫助。最值得注意的是,wxWindow :: FromDIP函數。
我能夠從在線獲取wxWidgets源代碼併成功編譯它。我右鍵單擊項目文件夾,進入C++編譯器設置,並確保包含我編譯的wx-3.1庫(它是/usr/local/include/wx-3.1)的位置。
作爲測試,我在代碼的某些部分添加了FromDIP()函數。代碼完成能夠提取我輸入的內容,並能夠「查看」FromDIP()函數。
當我去建立項目時,構建失敗了,我有了FromDIP函數的所有點。 IT在說這是不可識別的。
然後我去了全局編譯器設置(設置 - >構建設置 - >(選擇我的編譯器) - >高級),並添加到我的wx-3.1編譯庫的include路徑中。
再次,構建失敗。然後,我回到項目C++編譯器設置並設置全局設置以覆蓋項目設置。
再次,構建失敗。
我看了什麼GCC是輸出:
/usr/bin/g++-4.9 -c "/home/phillip/GitHub/Omni-FEM/src/UI/BoundaryDialog/BoundaryDialog.cpp" -g -O0 -fopenmp -std=c++11 -Wall -lglut -lGL -lGLU -I/usr/lib/x86_64-linux-gnu/wx/include/gtk2-unicode-3.0 -I/usr/include/wx-3.0 -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXGTK__ -pthread -o ./Debug/src_UI_BoundaryDialog_BoundaryDialog.cpp.o -I/home/phillip/GitHub/Omni-FEM/Include -I/usr/local/include/wx-3.1 -I/usr/include/wx-3.0-unofficial -I/usr/include/GL -I/usr/local/include/wx-3.1
有一個流氓-I在/ usr/inlcude/WX-3.0編譯器設置。我相信這個編譯器設置覆蓋了我想要使用wx-3.1的那個(你會在後面看到這個選項)。當然,構建將失敗,因爲如果CodeLite嘗試使用3.0進行編譯,則該函數不存在。我一直在瀏覽所有的菜單,找到這個設置的位置,我還沒有找到任何東西。
我的問題是,有沒有其他地方,我需要改變編譯器設置,如果是的話,我在哪裏可以找到它?或者,我需要做其他事嗎?喜歡在某處覆蓋某些設置?
謝謝您的回覆。這裏是wx-config --cflags的輸出:-I/usr/local/lib/wx/include/gtk2-unicode-3.1 -I/usr/local/include/wx-3.1 -D_FILE_OFFSET_BITS = 64 -DWXUSINGDLL -D__WXGTK__ -pthread。不幸的是,當我恢復到原始設置後,我仍然收到錯誤,刪除了我的包含路徑中的條目,並確保$(shell wx-config)位於C++編譯器選項中。我仍然得到:-g -O0 -fopenmp -std = C++ 11 -Wall -lglut -lGL -lGLU -I/usr/lib/x86_64-linux-gnu/wx/include/gtk2-unicode-3.0 -I /usr/include/wx-3.0 -D_FILE_OFFSET_BITS = 64 -DWXUSINGDLL -D__WXGTK__ – philm
確保使用了正確的'wx-config'。當你鍵入以下命令時會得到什麼:'which wx-config'? – Eran
,你在'/ usr/local/bin'中有2個'wx-config',在'/ usr/bin'中有一個' – Eran