wxWidgets-2.8.x环境的搭建

1)安装wxMSW-2.8.4-Setup.exe到D:/wxWidgets-2.8.7目录下。
新建环境变量WXWIN,指向D:/wxWidgets-2.8.7
重启计算机

2)打开G:/wxWidgets-2.8.4/build/msw/wx_dll.dsw,提示是否进行项目转换,点yes to all。
不要编译 wx.dsw,因为他没有project dependence.
选择 configuration manager    realease.
开始编译-----15分钟.

3) 设置VC开发环境
打开Tools -> Options -> Projects and Solutions -> VC++ Directories
1. 在Include files中加入$(WXWIN)/include和$(WXWIN)/include/msvc
2. 在Library files中加入$(WXWIN)/lib/vc_lib


4)打开G:/wxWidgets-2.8.4/samples/sample.dsw
开始编译-------20分钟
========== Rebuild All: 69 succeeded, 5 failed, 0 skipped ==========
其中failed project  is  dbtest,cube,isosurf,penguin,后三个工程失败是由于没有opengl库
set wxUSE_GLCANVAS to 1后重新编译即可。
 set wxUSE_ODBC set to 1  重新编译dbtest 即可.

以下转自:http://dohkoos.name/?p=308  

C/C++ - - September 11th, 2007

wxWidgets的下载、安装和编译
1.
http://www.wxwidgets.org/downloads/下载一个wxMSW版本的wxWidgets
2.
运行安装文件。在安装好后设置环境变量WXWIN,指向wxWidgets的安装目录。因为安装过程仅仅是把文件拷贝到指定的目录,所以还需要对wxWidgets进行编译。
3.
进入$(WXWIN)/build/msw目录,用VS2005打开wx.dsw,提示是否进行项目转换,点确定。如果想要连接静态运行库,在编译前应该对每个项目进行设置,如下图:在Project Properties -> C/C++ -> Code Generation
Runtime Library改成Multi-threaded Debug (/MTd)    // Debug版本
Runtime Library改成Multi-Threaded (/MT)    // Release版本



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

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

设置VC开发环境
打开Tools -> Options -> Projects and Solutions -> VC++ Directories
1.
Include files中加入$(WXWIN)/include$(WXWIN)/include/msvc
2.
Library files中加入$(WXWIN)/lib/vc_lib

创建wxWidgets项目
新建一个General -> Empty ProjectWin32 -> Win32 Project项目,然后设置项目的一些属性,可以选择下面的其中一个来设置。譬如你如果打算使用Unicode,那么选择Unicode DebugUnicode Release,如果你仅仅想调试程序而非发布,则只需要选择Debug设置。
Debug

Project Properties -> General -> Character Set: No Set
Project Properties -> C/C++ -> Code Generation -> Runtime Library: Multi-threaded Debug (/MTd)
Project Properties -> Linker -> Input -> Additional Dependencies: wxbase28d.lib wxmsw28d_core.lib winmm.lib comctl32.lib rpcrt4.lib wsock32.lib oleacc.lib

Release
Project Properties -> General -> Character Set: No Set
Project Properties -> C/C++ -> Code Generation -> Runtime Library: Multi-threaded (/MT)
Project Properties -> Linker -> Input -> Additional Dependencies: wxbase28.lib wxmsw28_core.lib winmm.lib comctl32.lib rpcrt4.lib wsock32.lib oleacc.lib

Unicode Debug
Project Properties -> General -> Character Set: Use Unicode Character Set
Project Properties -> C/C++ -> Code Generation -> Runtime Library: Multi-threaded Debug (/MTd)
Project Properties -> Linker -> Input -> Additional Dependencies: wxbase28ud.lib wxmsw28ud_core.lib winmm.lib comctl32.lib rpcrt4.lib wsock32.lib oleacc.lib

Unicode Release
Project Properties -> General -> Character Set: Use Unicode Character Set
Project Properties -> C/C++ -> Code Generation -> Runtime Library: Multi-threaded (/MT)
Project Properties -> Linker -> Input -> Additional Dependencies: wxbase28u.lib wxmsw28u_core.lib winmm.lib comctl32.lib rpcrt4.lib wsock32.lib oleacc.lib

问题
1. 在编译时出现了Cannot open include file: ‘../mswu/wx/setup.h’: No such file or directory错误
这是因为项目属性的Character Set设置不正确,必须与使用的wxWidgets库的Character Set一致。

2. 在编译时出现了MSVCRT.lib(MSVCRT.dll) : error LNK2005: _free already defined in LIBC.lib(free.obj)
这是因为没有连接正确的wxWidgets库,譬如Unicode Debug版本的项目就需要连接Unicode+Debug版本的wxWidgets(库名后缀为’ud’lib文件)。或者是wxWidgetsApplication使用的Runtime Library不相同。

3. 运行是出现No Debugging Information对话框
Project Properties -> Linker -> Debugging -> Generate Debug Info的值改成Yes (/DEBUG)

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值