vc++6.0下wxWidgets程序开发环境的设置


首先介绍一下本教程的编译环境:



Visual C++ 6.0 + sp6 wxWidgets的版本是:2.63 或 2.70 操作系统是:Windows XP + sp2



wxWidgets可以在:http://wxwidgets.org/downloads/ 得到源码。下载完毕后,解压。本教程假设解压到C盘根目录的 /wxWidgets/ 下目录下,c:/wxWidgets/简称 $(WXWIN)。


在编译生成库文件之前,我们还需要进行一些设置。大家可以打开:
${WXWIDGETS}/include/wx/msw/setup.h 


保证第110行的#define wxUSE_DEBUG_NEW_ALWAYS 设为 0,将第981行的 wxUSE_IOSTREAMH 设为 0,否则无法在VC下使用模板(VC++ 4.2 即以后的版本同时支持 和 ,但这里不能混淆它们,wxUSE_IOSTREAMH 设为 0 支持,设为 1 支持 ); 如果要使wxWidgets提供支持数据库的ODBC类,将第942行的#define wxUSE_ODBC 设为 1;二、编译

使用VC++6.0编译有两种方式:使用IDE环境编译和使用命令行编译。 1.选择使用IDE环境,使用VC6.0打开 wxWidgets-2.6.3/build/msw/wx.dsw菜单Build->Batch build 或:  2.命令行:在目录 build/msw 中 'nmake -f makefile.vc' 使用默认设置生成的是DEBUG静态LIB库 'nmake -f makefile.vc BUILD=debug UNICODE=1' 使用默认设置生成的是DEBUG静态LIB库,并提供UNICODE支持






'nmake -f makefile.vc BUILD=release' 则生成RELEASE库静态LIB库
全部库文件的编译时间较长,生成的文件在 wxWidgets/lib/ 目录下 ,分为动态库(dll)和静态库(lib)  wxWidgets/lib/vc_lib/ VC++ 编译后的静态库  wxWidgets/lib/vc_dll/ VC++ 动态库
三、安装1>设置环境变量,实际上设置环境变量并不是必须的,只是有一些项目会用到,如wxActiveX的例程就会用到: 变量:WXWIN 值:wxWidgets得安装路径,如:C:/wxWidgets/



2>在VC++6.0下设置使用wxWidgets的项目(project)

在VC++6.0下建立wxWidgets的项目需要三个步骤:
Step1.建立 Win32 Application 项目;
Step2.写程序,添加资源(.rc)文件
Step3.对项目(Project)进行设置。打开菜单Project -> Settings
Step3.1.General tab 对于面板上Output Directories的The Output files 和 Intermediate files 栏,是用于指定输出的可执行文件以及临时文件所在的目录的,如果是Debug设置,则两栏都填"Debug",如果是Release设置,则两栏都填"Release";
Step3.2.Debug tab 在General选项下,Executable for debug sessions 栏填入期望生成可执行文件的路径和目录;
Step3.3.C/C++ tab有三项需要配置 1>在Catagory选Preprocessor项,Preprocessor definitions 栏填入如下内容: 在设置为Win32 Debug时:



WIN32;_DEBUG;_WINDOWS;__WINDOWS__;__WXMSW__;__WXDEBUG__;WXDEBUG=1;__WIN95__;__WIN32__;WINVER=0x0400;STRICT

在设置为Win32 Release时:



NDEBUG,WIN32,_WINDOWS,__WINDOWS__,__WXMSW__,__WIN95__,__WIN32__,WINVER=0x0400,STRICT

注意,设置时变量之间使用逗号" , "分隔和使用分号" ; "分隔效果一样!
Additional include directories 栏应填入wxWidgets库所在目录的头文件目录: c:/wxWidgets/include,c:/wxWidgets/contrib/include,c:/wxWidgets/lib/msw[d]  当然,如果你设置了环境变量WXWIN,这里的c:/wxWidgets也可以用$(WXWIN)代替。
2>在Catagory选Precompiled Headers项  应选择"Not using precompiled headers" 或 "Automatic use of precompiled headers "。
3>在Catagory选Code Generation项  在Use run-time library 指定生成代码时所使用的动态库,  在设置为Debug时,选Debug Multithreaded DLL(/MDd) 在设置为Release时,选Multithreaded DLL(/MD)
Step3.4.Link tab 在Catagory选Input项,在Object/library modules 栏填入: 在使用静态 Debug库时:wxmsw26d_core.lib wxbase26d.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexd.lib wxexpatd.lib winmm.lib comctl32.lib rpcrt4.lib wsock32.lib oleacc.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib  如果要使用wxODBC加 wxbase26d_odbc.lib odbc32.lib 位于



/wxWidgets/lib/vc_lib/wxbase26d_odbc.lib /Program Files/Microsoft Visual Studio/VC98/Lib/odbc32.lib

在使用静态 Release库时:



wxmsw26_core.lib wxbase26.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregex.lib wxexpat.lib winmm.lib comctl32.lib rpcrt4.lib wsock32.lib oleacc.lib odbc32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbccp32.lib

如果要使用wxODBC加 wxbase26_odbc.lib odbc32.lib
Input项,在Ignore libraries 栏填入:  Debug版:libcd.lib,libcid.lib,msvcrt.lib Release 版:libc.lib,libci.lib,msvcrtd.lib  
Input项,在Additional library path 栏填入(Debug版和Release 版):  c:/wxWidgets/lib,c:/wxWidgets/contrib/lib 
还有一种办法,指定 .h头文件、lib库文件、源文件路径(只指定一次,各Project皆可用)ToolsOptions -> Include files /include/ /contrib/include/ /include/msvc/Options -> Library files /lib/vc_lib/  /contrib/lib Options -> Library files/src

 

=================================================================================================

wxWidgets是一个开源的跨平台GUI库,其程序可以在Windows,Linux, Mac OS等各种平台上运行,甚至是Windows CE ,Palm OS. 最新版本2.6.2. 不但包括GUI, 还有Media, Socket, ODBC等库.详情请见: http://www.wxwidgets.org/

下载好wxWidgets 2.6.2 的Windows版,安装文件后, 可以发现%WXWIN%/build/msw 里面wx.dsw和wx_dll.dsw.一个是编译成lib,另一个则是编译成dll. 全部Debug之后, 会在%WXWIN%/lib/vc_lib里生成wxbase26d.lib, wxbase26d_net.lib, wxbase26d_odbc.lib, wxbase26d_xml.lib, wxexpatd.lib, wxjpegd.lib, wxmsw26d_adv.lib, wxmsw26d_core.lib, wxmsw26d_dbgrid.lib, wxmsw26d_gl.lib, wxmsw26d_html.lib, wxmsw26d_media.lib, wxmsw26d_qa.lib, wxmsw26d_xrc.lib, wxpngd.lib, wxregexd.lib, wxtiffd.lib, wxzlibd.lib这18个lib. 好了, 我们可以建立我们和项目了. 


打开vc6,新建一个Win32 Application 的空项目. 这里我命名为WxStudy. 
用Alt + F7 进入项目设置
1. C/C++选项卡->Code Generation -> use run-time library 设置为: Debug MutilThread DLL
2. C/C++选项卡-> PreProcessor -> PreProcessor Definitions 设置为: WIN32,_DEBUG,_WINDOWS,_MBCS,__WXMSW__,__WXDEBUG__  
也就是多了__WXMSW__,__WXDEBUG__ ,如果是Release版,则__WXDEBUG__ 就不用加上.
3. C/C++选项卡-> PreProcessor -> Additional Include directions 设置为D :/Program Files/wxWidgets-2.6.2/include,D:/Program Files/wxWidgets-2.6.2/lib/vc_lib/mswd,.  这是设置附加Include路径,因为我的wxWidgets是装在D:/Program Files下面, 所以就这样设置.
第3步结束后,C/C++选项卡的Project Options 就为:
/nologo /MDd /W3 /Gm /GX /ZI /Od /I "D:/Program Files/wxWidgets-2.6.2/include" /I "D:/Program Files/wxWidgets-2.6.2/lib/vc_lib/mswd" /I "." /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "__WXMSW__" /D "__WXDEBUG__" /Fp"debug/WxTest.pch" /YX /Fo"debug/" /Fd"debug/" /FD /GZ /EHsc /c 
4. 下面进行Link的设置. 
Link 选项卡-> Input -> Object/library modules 设置为: wxmsw26d_core.lib wxbase26d.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexd.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib oleacc.lib odbc32.lib.一般的wxDigets GUI项目比普通windows 程序多wxmsw26d_core.lib wxbase26d.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexd.lib wxexpatd.lib这些Lib.
5. 
Link 选项卡-> Input -> Addtional library path 设置为: D:/Program Files/wxWidgets-2.6.2/lib/vc_lib
这样一个普通的WxWdigets项目就设置好了. 
我们用WxWidgets自带的例子minimal,增加到项目中去.新建一个minimal.cpp文件,copy 代码,编译.成功了!


 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值