本文摘自http://www.cnzui.com/?p=962
在原文的基础上根据自己的实践做了一些修改
我的IDE为C::B 12.11,wxWidgets版本为wxWidgets-2.8.12
在上一篇文章中我们已经编译好了wxWidgets-2.8.12的四个版本的库
编译好的库文件在wxWidgets-2.8.12lib里面,动态库为gcc_dll,静态库为gcc_lib,调试版和发行版的区别在于文件名中调试版比发行版多了一个字母:d
一、使用静态库开发wxWidgets程序
首先选择MINGW做为默认编译器,然后再打开“Settings”->“Global Variables…”,在设置“default”下新建立一个“wx”变量,
在“Build-in fields:”下,base中填入“${wxwin}”,include中填入“${wxwin}include”,lib中填入“${wxwin}lib”,这些都是后面建立wxWidgets工程的向导里需要用到的。
或者在base中填入绝对路径,例如:“E:wxWidgets-2.8.12”,include中填入“E:wxWidgets-2.8.12include”,lib中填入“E:wxWidgets-2.8.12lib”。
设置完成后,我们就可以建立wxWidgets工程了,下面我们来一步步建立一个完整的wxWidgets示例工程。
通过菜单“File”->“New”->“Project…”,选择最后面的wxWidgets project。
点击“Go”进入工程配置向导,首先会出来一个欢迎窗口,在这里我们直接下一步,
然后选择机子里安装的wxWidgets版本,我这里装的是2.8版本。
按“Next”,然后输入工程名“test”。
继续“Next”,输入作者和及一些版权说明信息(空着也行)。
继续“Next”,选择GUI设计工具和程序类型,这里我就用wxSmith和Dialog based。
按“Next”,接下来的就是wxWidgets环境的一些设置了,这里我们输入刚才设置的wxWidgets根目录,直接填入“$(#wx)”(或者填入wxWidgets的目录)。
按“Next”,这里我们看到默认就是选择了MinGW编译器了(我很纳闷不知道为什么我明明安装了MINGW,这里就是没有,但是这个没什么影响。。)
继续“Next”,接下来要选择怎么使用wxWidgets库,这里根据你编译的wxWidgets库是什么样的来,由于我们先使用静态库编译程序,所以不选择”Use wxWidgets DLL“。
按“Next”,因为选择了“Configure Advanced Options”,所以要对使用wxWidgets库做更多的设置,这里我们选上我们使用lib方式调用。
按“Next”进到最后一步,我们选择需要用到的库,不知道的话全部选上。
点击“Finish”,工程随即建立成功。我们按F8进行编译调试,我们可能看到如下错误:
这是因为默认的库里没有这些库的原因,我们通过菜单“Project”->“Build options”,修改“Linker settings”下的“Link libraries”,选择刚才那几个缺失的库,点击“delete”去掉。
再按F8编译调试,我们就可以发现工程可以运行成功了。
如果要编译release版本的程序同样要在“项目选项”→“release”→“链接器设置”,删掉那4个缺失的库。
至此静态库的调用全部完毕,接下来说说动态库,只需要静态库的设置上做一点点修改就可。
二、使用动态库开发wxWidgets程序
只需要在这一步把“Use wxWidgets DLL”选项选中既可
构建的时候同样要把那4个缺失的库给删除。
程序发布的时候别忘了附上所有用到的DLL