vs2008编译wxWidgets 2.8.12
用vs2008编译wxWidgets 2.8.12
FileZilla客户端源码3.5.3及以上版本依赖wxWidgets 2.8.12或更高版本,因此,编译FileZilla客户端首先需要编译wxWidgets 2.8.12。本文简单介绍一下VS2008编译wxWidgets 2.8.12的步骤和方法。
1 下载wxWidgets 2.8.12
wxWidgets官网下载https://www.wxwidgets.org/downloads/,版本为wxMSW,下载后解压。
2 为wxWidgets 路径添加环境变量
右键我的电脑->系统设置->高级->环境变量->系统变量->新建->输入名称:WXWIN 值:E:\codeEnvir\sdk\wxMSW-2.8.12。
变量值需要指定wxMSW-2.8.12路径。连点保存退出。
3 命令行namke编译或vs工程编译
打开Visual Stuido 2008 Command Prompt命令行工具,切换到E:\codeEnvir\sdk\wxMSW-2.8.12\build\msw目录。输入nmake /f makefile.vc SHARED=0 UNICODE=1 BUILD=debug MONOLITHIC=0,等待编译完成。
SHARED属性值为0,表示生成lib。为1,表示成成dll;
UNICODE属性值为0,表示生成多字节。为1,表示生成UNICODE,生成的lib或dll会用u标识。
BUILD属性值为debug生成debug版本,为realease生成release。
MONOLITHIC属性值为0表示生成多组件库,即多个lib等。为1表示生成单个组件库,只有一个lib和dll。
在build/msw目录下,有wx.dsw和wx_dll.dsw工程文件,也可以直接打开工程文件编译。这种方法比命令行编译慢。
编译完成后,会在wxMSW-2.8.12的lib文件夹下生成vc_lib,vc_lib内包含lib(或dll)以及mswud(unicode+debug)文件夹,mswud文件夹内包含需要引入的头文件setup.h和rcdefs.h。setup.h包含了当前编译环境的宏定义,rcdefs.h包含了对资源文件的宏定义。
4 工程属性配置
4.1 加入包含文件
工程属性->C/C++->General->Additional Include Directories,加入wxMSW-2.8.12下的include和第三步生成的vc_lib\mswud。使用第二步的环境变量,配置如下:
$(WXWIN)\include
$(WXWIN)\lib\vc_lib\mswud
工程属性->C/C++->Preprocessor->Preprocessor Definitions,加入
WIN32
_DEBUG
__WXMSW__
__WXDEBUG__
_WINDOWS
NOPCH
其中,__WXMSW__是必须要写的,__WXDEBUG__用于调试。其余项根据工程要求自行设定。
4.2 加入库引用
工程属性->Linker->General->Additional Library Directories,加入lib路径引用。
$(WXWIN)\lib\vc_lib
工程属性->Linker->Input->Additional Dependencies,加入lib名称
wxmsw28ud_core.lib
wxbase28ud.lib
wxtiffd.lib
wxjpegd.lib
wxpngd.lib
wxzlibd.lib
wxregexud.lib
wxexpatd.lib
winmm.lib
comctl32.lib
rpcrt4.lib
wsock32.lib
wininet.lib
在wxwidgets的引入lib中,core和base是必须要引入的,其余项可根据需要添加。
4.3 加入资源文件引用
工程属性->Resoucres->Genera->Preprocessor Definitions,加入4.1节预处理器定义。
工程属性->Resoucres->General->Additional Include Directories,加入4.1节文件包含。
5 编译测试程序minimal
用vs2008打开wxWidgets 2.8.12的samples文件夹下minimal工程,按上述配置逐一检查配置项。编译运行后结果如下:
6 相关参考
1:《How to compile a wxWidgets application in Visual Studio 2008?》 地址:http://www.tuicool.com/articles/BRrAji
2:《跟我学wxWidgets开发》 地址:http://www.cnzui.com/archives/921
3:Installing wx 2.4 with VisualStudio 6 地址:https://wiki.wxwidgets.org/Installing_wx_2.4_with_VisualStudio_6