参照WxWindowsQuickRef的方法,搭建codeblock+wxWidget开发环境。过程如下:
1)安装code block,本人安装的是codeblocks-8.02-setup.exe
2)安装wxWidget,采用源文件安装的方法。安装的是wxMSW-2.8.7 -Setup.exe。安装路径是c:/wxWidgets-2.8.7。编译的过程稍后继续。最新的wxMSW-2.9.1-Setup.exe还没有试过。
3)安装MinGW。下载最新的MinGW-5.1.6,安装过程中选择“Download and Install”,具体安装的选项时,只选择g++-complier和GNU maker。安装路径为c:/MinGW。
将路径c:/MinGW/bin和c:/MinGW/mingw32/bin添加到Path环境变量。启动command窗口。键入
mingw32-make.exe –v
可看到:
C:/wxWidgets-2.8.7/build/msw>mingw32-make -v
GNU Make 3.81
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
4)下面说说使用wxWidget源文件进行的编译。
非常非常重要的问题是要保持环境的“干净”,否则在编译的过程中会出现一些莫名其妙的问题。例如本人安装了cygwin,然后又使用了mingw32-make.exe (版本3.80)。又使用了一些杂七杂八的编译、链接工具,所以环境变量很多,有的也会带来冲突。例如,我在MS cmd中执行
mingw32-make -f makefile.gcc BUILD=release SHARED=1 MONOLITHIC=1 UNICODE=1
出现如下错误:
D:/wxWidgets-2.9.1/build/msw>mingw32-make -f makefile.gcc BUILD=release SHARED=1 MONOLITHIC=1 UNICODE=1
if not exist ../../lib/gcc_dll/mswu mkdir ../../lib/gcc_dll/mswu
process_begin: CreateProcess((null), -c "if not exist ../../lib/gcc_dll/mswu mkdir ../../lib/gcc_dll/mswu", ...) failed.
make (e=2): 系统找不到指定的文件。
mingw32-make: *** [../../lib/gcc_dll/mswu] Error 2
当在cygwin下执行
mingw32-make -f makefile.gcc BUILD=release SHARED=1 MONOLITHIC=1 UNICODE=1
会出现诸如jpeg/jconfig.h中包含wx/setup.h找不到等问题。
后来在另外一台没有装过诸如cygwin,MinGW等开发工具的机子上安装上述步骤进行编译,能够编译成功如下:
tabmdi.o gcc_mswudll/monodll_richtextctrl.o gcc_mswudll/monodll_richtextbuffer.o
gcc_mswudll/monodll_richtextstyles.o gcc_mswudll/monodll_richtextxml.o gcc_mswu
dll/monodll_richtexthtml.o gcc_mswudll/monodll_richtextformatdlg.o gcc_mswudll/m
onodll_richtextsymboldlg.o gcc_mswudll/monodll_richtextstyledlg.o gcc_mswudll/mo
nodll_richtextprint.o gcc_mswudll/monodll_xml.o gcc_mswudll/monodll_xtixml.o -
mthreads -L../../lib/gcc_dll -Wl,--out-implib=../../lib/gcc_dll/libwxmsw28u.a -
lwxtiff -lwxjpeg -lwxpng -lwxzlib -lwxregexu -lwxexpat -lkernel32 -luser32
-lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lcomctl32 -lole32 -loleaut32 -l
uuid -lrpcrt4 -ladvapi32 -lwsock32 -lodbc32
姝e湪鍒涘缓搴撴枃浠讹細../../lib/gcc_dll/libwxmsw28u.a
5)在code block上实验如下:
按照WxWindowsQuickRef介绍的方法,建立一个Frame base的Project,编译运行后如下: