[英]Building a wxWidgets program in Code::Blocks
我正在嘗試使用Code :: Blocks 12.11構建這個wxWidgets示例程序,但無論我嘗試什么,構建都會失敗。
例如,構建日志顯示以下內容(項目位於X:\\ programming \\ c ++ \\ HelloWxWidgets下):
mingw32-g ++。exe -Wall -fexceptions -g -D_ GNUWIN32 _ -D_ WXMSW _ -DwxUSE_UNICODE -D_ WXDEBUG _ -IC :\\ libraries \\ wxWidgets-2.8.12.01 \\ include -IC:\\ libraries \\ wxWidgets-2.8.12.01 \\ contrib \\ include -IC:\\ libraries \\ wxWidgets-2.8.12.01 \\ lib \\ gcc_lib \\ mswud -c X:\\ programming \\ c ++ \\ HelloWxWidgets \\ hworld2.cpp -o obj \\ Debug2 \\ hworld2.o mingw32-g ++。exe -LC :\\ libraries \\ wxWidgets-2.8.12.01 \\ lib \\ gcc_lib -o bin \\ Debug2 \\ HelloWxWidgets.exe obj \\ Debug2 \\ hworld2.o -static-libgcc C:\\ libraries \\ wxWidgets-2.8.12.01 \\ lib \\ gcc_lib \\ libwxmsw28ud。 a C:\\ libraries \\ wxWidgets-2.8.12.01 \\ lib \\ gcc_lib \\ libwxmsw28ud.a(monolib_window.o):在函數
ZN8wxWindow6UpdateEv': C:\\BuildAgent\\work\\wxPack\\wxwidgets\\build\\msw/../../src/msw/window.cpp:1643: undefined reference to
GdiFlush @ 0'C:\\ libraries \\ wxWidgets-2.8.12.01 \\ lib \\ gcc_lib \\ libwxmsw28ud.a(monolib_window.o):在函數ZNK8wxWindow13GetTextExtentERK8wxStringPiS3_S3_S3_PK6wxFont': C:\\BuildAgent\\work\\wxPack\\wxwidgets\\build\\msw/../../src/msw/window.cpp:2132: undefined reference to
GetTextExtentP的ZNK8wxWindow13GetTextExtentERK8wxStringPiS3_S3_S3_PK6wxFont': C:\\BuildAgent\\work\\wxPack\\wxwidgets\\build\\msw/../../src/msw/window.cpp:2132: undefined reference to
oint32W @ 16'C:\\ BuildAgent \\ work \\ wxPack \\ wxwidgets \\ build \\ msw /../../ src / msw / window.cpp:2133:未定義引用`GetTextMetricsW @ 8'
這些是我得到的一些構建消息
C:\\ libraries \\ wxWidgets-2.8.12.01 \\ lib \\ gcc_lib \\ libwxmsw28ud.a(monolib_window.o)||在函數
ZN8wxWindow6UpdateEv':| C:\\BuildAgent\\work\\wxPack\\wxwidgets\\build\\msw\\..\\..\\src\\msw\\window.cpp|1643|undefined reference to
ZN8wxWindow6UpdateEv':| C:\\BuildAgent\\work\\wxPack\\wxwidgets\\build\\msw\\..\\..\\src\\msw\\window.cpp|1643|undefined reference to
GdiFlush @ 0'| C:\\ libraries \\ wxWidgets-2.8.12.01 \\ lib \\ gcc_lib \\ libwxmsw28ud.a(monolib_window.o)||在函數ZNK8wxWindow13GetTextExtentERK8wxStringPiS3_S3_S3_PK6wxFont':| C:\\BuildAgent\\work\\wxPack\\wxwidgets\\build\\msw\\..\\..\\src\\msw\\window.cpp|2132|undefined reference to
ZNK8wxWindow13GetTextExtentERK8wxStringPiS3_S3_S3_PK6wxFont':| C:\\BuildAgent\\work\\wxPack\\wxwidgets\\build\\msw\\..\\..\\src\\msw\\window.cpp|2132|undefined reference to
GetTextExtentPoint32W @ 16'| C:\\ BuildAgent \\ work \\ wxPack \\ wxwidgets \\ build \\ msw .... \\ src \\ msw \\ window.cpp | 2133 |未定義引用`GetTextMetricsW @ 8'|
這是完整的構建日志和所有構建消息 (順便說一下,我沒有C:\\ BuildAgent目錄)
我使用的是wxPack 2.8.12 (安裝在C:\\ libraries \\ wxWidgets-2.8.12.01)和GCC 4.7.2(使用mingw-get與C :: \\ mingw中的Code :: Blocks分開安裝)
以下是Code :: Blocks中的構建選項
謝謝你的幫助:)
好吧,我終於設法讓它工作:)
如果像我一樣,有人想在Code :: Blocks下的(最初)控制台項目中使用wxWidgets,那么我在這里發布要遵循的過程。 有了這個,任何人都應該能夠在Wind0ws環境中構建/運行至少這個示例代碼 :
打開命令提示符,需要構建wxWidgets,我將以使用unicode的靜態鏈接,單片調試構建為例( 此處有更多信息):
cd /DC:\\libraries\\wxWidgets-2.8.12\\build\\msw
mingw32-make -f makefile.gcc BUILD = debug SHARED = 0 MONOLITHIC = 1 UNICODE = 1
:(mingw32-make需要一些時間來構建庫)
打開Code :: Blocks
除了wx / wx.h之外,還應該包含[編輯] wx / app.h
#include <wx/wx.h>
#include <wx/app.h>
我發現一個最好的方法是在你的“其他班輪選項”中添加``wx-config --libs all`,在這個問題上,很多問題都會消失。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.