在Code:Blocks使用MinGW编译wxWidgets库

1,安装Code:BlocksMinGW编译器,下载wxWidgets

http://www.codeblocks.org/ 下载带有mingwcodeblocks安装包.(eg:codeblocks-10.05mingw-setup.exe)

http://www.wxwidgets.org/下载wxWidgets压缩包(eg:wxWidgets-2.9.1.7z)

分别安装,(注意,二者所在目录不能为中文,wxWidgets所在目录必须不能包含空格)

(eg:codeblocks C:\Program Files\CodeBlocks

wxWidgets C:\wxWidgets-2.9.1)

2,定义编译器环境变量,测试编译器版本

可将编译器路径添加到电脑环境变量中,也可以写个批处理,临时指定路径.(批处理会在后边给出)

按上边路径安装后,对应编译器路径为C:\Program Files\CodeBlocks\MinGW\binC:\Program Files\CodeBlocks\MinGW\mingw32\bin

(如果是64位的操作系统,则CodeBlocks可能被安装在C:\Program Files (x86)\CodeBlocks下面,这样的话这两个路径就需要做相应的修改)

路径设置过后,输入 mingw32-make -v 来测试编译器版本,确保版本为3.80或以上.

3.编译wxWidgets

首先打开命令窗口(运行->cmd),定位到wxWidgets目录下的\build\msw文件夹,然后进行下面的操作。

1)首先清除之前编译过的文件,执行mingw32-make -f makefile.gcc MONOLITHIC=1 SHARED=1 UNICODE=1 BUILD=release clean

(如果,你是第一次下载并编译wxWidgets,则不需要执行次步骤。)

2)清除之前的编译文件后,开始编译,执行 mingw32-make -f makefile.gcc MONOLITHIC=1 SHARED=1 UNICODE=1 BUILD=release (注意,清除时的配置要可之后重新编译的配置一致.编译过程可能会很长,请耐心等待.)

编译配置:

BUILD 控制编译wxWidgetsdebug版本或release版本,debug版本时,库名带后缀d.

SHARED 控制编译wxWidgetsDLL或是static, DLL,多个wxWidgets工程可共用相同的DLL,工程发布时,必须包含该DLL文件

MONOLITHIC 控制编译成1个独立的DLL,还是多个DLL

UNICODE 控制编译出的wxWidgets是否支持unicode,若使用汉字,必须支持unicode

 

关于命令中各参数的说明可以在\build\msw\config.gcc文件中找到

 

(更详细的描述,请参照http://wiki.codeblocks.org/index.php?title=WxWindowsQuickRef

http://wiki.codeblocks.org/index.php?title=Compiling_wxWidgets_2.8.6_to_develop_Code::Blocks_(MSW)

http://wiki.wxwidgets.org/Compiling_wxWidgets_with_MinGW)

以上操作,可用1个批处理完成,如下:(对应路径改成自己安装的路径即可)

set path=C:\Program Files\CodeBlocks\MinGW\bin;C:\Program Files\CodeBlocks\MinGW\mingw32\bin mingw32-make -v cd C:\wxWidgets-2.9.1\build\msw mingw32-make -f makefile.gcc BUILD=release SHARED=1 MONOLITHIC=1 UNICODE=1 clean pause mingw32-make -f makefile.gcc BUILD=release SHARED=1 MONOLITHIC=1 UNICODE=1 pause

wxWidgets2.9.1时可能会在编译时出错,请参考

http://zaazbb.blog.163.com/blog/static/1689785592010101223435157/

转载于:https://www.cnblogs.com/goncely/archive/2012/12/01/2797247.html

你可能感兴趣的:(在Code:Blocks使用MinGW编译wxWidgets库)