vs2008+wxWidgets3.0.0的配置完整版

一、下载安装wxWidgets
1.下载
  地址为:“https://sourceforge.net/projects/wxwindows/files/3.0.0/wxMSW-Setup-3.0.0.exe”


2.安装
  将下载好的“wxMSW-3.0.0-Setup.exe”安装到英文路径下,如“D:\wxWidgets-3.0.0”


二、编译wxWidgets
1.VS2008打开编译工程
    进入“D:\wxWidgets-3.0.0\build\msw”目录,用VS2008打开对应的工程“wx_vc9.sln”。


2.编译Debug及Relase版本的库:
  wx_vc9.sln工程中,有4个版本的库,分别是:Debug、Relase、DLL Debug、DLL Relase。一般情况下只编译Debug及Relase版本的库就可以了。


  默认情况下,Debug及Relase版本的配置中,运行时库分别为“多线程调试 DLL(/MDd)”和"多线程 DLL(/MD)",编译出来的库依赖于visual studio 2008的运行时库。Debug版本的库依赖VS2008也就算了,反正是自己调试用的。Release版本可是要分发给别人用的,再带上一大堆dll就不好了。为解决这个问题,可以对Relase版本进行修改配置。在解决方案资源管理器中,针对每一个项目进行修改,右击“属性”,配置属性->C/C++ ->代码生成->运行时库: 多线程(/MT)》(有23个项目)。


    在VS2008的解决方案中,右键选择批生成,在弹出的对话框设置中对每个项目都选择Debug及Relase,点击批生成。(不是第一次编译时,可选择清理,再点击重新生成)


  编译好会在wxWidgets的“D:\wxWidgets-3.0.0\lib\vc_lib”目录下生成一系列的lib文件,其名字遵循下面的命名规则:不依赖于GUI组件的库会以"wxbase"开头,紧跟着的是版本号,然后的字母表明这个库是否是编译为Unicode('u')或是否是编译为 Debug('d'),名字中的最后部分是wxWidgets组件的名字。 


  注意:wxWidgets编译完后在“D:\wxWidgets-3.0.0\build\msw”目录下会生成许多预编译头文件,占了很大的空间,如果确定以后不再编译 wxWidgets库的话,可以考虑删掉。


三、VS2008下的配置
1.先配置VS2008的全局变量


    (1) 打开工具 -> 选项 -> 项目和解决方案 -> VC++目录 -> 显示以下内容的目录
   (2) 在“包含文件”中加入D:\wxWidgets-3.0.0\include
   (3) 在“库文件”  中加入D:\wxWidgets-3.0.0\lib\vc_lib
  
2.针对创建wxWidgets的项目,设置项目的一些属性:
  
    项目->属性->配置属性->常规 -> 字符集: 使用 Unicode 字符集


    将附录1中的“lib.h”文件加入工程中(如加入到“MyApp.h ”文件中,即在文件开始输入#include "lib.h")。此步相当于设置“项目->属性->配置属性->链接器 -> 输入 -> 附加依赖项:”的内容,省略了手工加载各个依赖库的过程。


    DEBUG下:
    (1) 项目->属性->配置属性->C/C++ -> 常规 ->附加包含目录: 
D:\wxWidgets-3.0.0\lib\vc_lib\mswud
    (2) 项目->属性->配置属性->C/C++ -> 预处理器 ->预处理器定义: 
WIN32;_DEBUG;_WINDOWS;__WXMSW__
    (3) 项目->属性->配置属性->C/C++ -> 代码生成 ->运行时库: 
多线程调试 DLL (/MDd)


    RELEASE下:
    (1) 项目->属性->配置属性->C/C++ -> 常规 ->附加包含目录: 
D:\wxWidgets-3.0.0\lib\vc_lib\mswu
    (2) 项目->属性->配置属性->C/C++ -> 预处理器 ->预处理器定义: 
WIN32;NDEBUG;_WINDOWS;__WXMSW__
    (3) 项目->属性->配置属性->C/C++ -> 代码生成 ->运行时库: 
多线程(/MT)






附录:lib.h文件(一般的wxWidgets工程够了,也可以根据项目要求继续添加其它的依赖库)


/Win32 libraries
#pragma comment(lib,"kernel32.lib ")
#pragma comment(lib,"user32.lib ")
#pragma comment(lib,"gdi32.lib ")
#pragma comment(lib,"comdlg32.lib ")
#pragma comment(lib,"winspool.lib ")
#pragma comment(lib,"winmm.lib ")
#pragma comment(lib,"shell32.lib ")
#pragma comment(lib,"comctl32.lib ")
#pragma comment(lib,"ole32.lib ")
#pragma comment(lib,"oleaut32.lib ")
#pragma comment(lib,"uuid.lib  ")
#pragma comment(lib,"rpcrt4.lib  ")
#pragma comment(lib,"advapi32.lib ")
#pragma comment(lib,"wsock32.lib ")
#pragma comment(lib,"wininet.lib")


/FFT//
// #pragma comment(lib, "libfftw3-3.lib")
// #pragma comment(lib, "libfftw3f-3.lib")
// #pragma comment(lib, "libfftw3l-3.lib")


#ifdef _DEBUG
#pragma comment(lib,"wxmsw30ud_aui.lib")
#pragma comment(lib,"wxmsw30ud_html.lib ")
#pragma comment(lib,"wxmsw30ud_adv.lib ")
#pragma comment(lib,"wxmsw30ud_core.lib ")
#pragma comment(lib,"wxbase30ud_xml.lib ")
#pragma comment(lib,"wxbase30ud.lib ")
#pragma comment(lib,"wxtiffd.lib ")
#pragma comment(lib,"wxjpegd.lib")
#pragma comment(lib,"wxpngd.lib")
#pragma comment(lib,"wxzlibd.lib")
#pragma comment(lib,"wxregexud.lib")
#pragma comment(lib,"wxexpatd.lib ")
#pragma comment (lib, "wxmsw30ud_gl.lib")
#else
#pragma comment(lib,"wxmsw30u_aui.lib")
#pragma comment(lib,"wxmsw30u_html.lib ")
#pragma comment(lib,"wxmsw30u_adv.lib ")
#pragma comment(lib,"wxmsw30u_core.lib ")
#pragma comment(lib,"wxbase30u_xml.lib ")
#pragma comment(lib,"wxbase30u.lib ")
#pragma comment(lib,"wxtiff.lib ")
#pragma comment(lib,"wxjpeg.lib")
#pragma comment(lib,"wxpng.lib")
#pragma comment(lib,"wxzlib.lib")
#pragma comment(lib,"wxregexu.lib")
#pragma comment(lib,"wxexpat.lib ")
#pragma comment (lib, "wxmsw30u_gl.lib")
#endif
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值