开始使用wxWidgets

      开始使用这个库,毋容置疑就是这个库的下载与安装了,本文主要针对wxWidgets2.8.10+VS2005尽心说明:

http://www.wxwidgets.org

下载wxWidgets 的zip包。解压到某一目录(后文中此目录用 %WXPATH%代替)。

环境变量"WXWIN"应该设置为"c:/???"而不是"c:/???/",然后包含目录的时候格式为"$(WXWIN)/include/"而不是"$(WXWIN)include/".我也提供了一个VS2003修正版的"HelloWorld"的解决方案(本文的源代码只需直接复制到hello.cpp中便可编译运行)

编译 wxWidgets

(可以用IDE打开%WXPATH%/build/msw/wx.dsw或wx_dll.dsw编译,注意相关参数的设置)

在 Visual Studio 命令行环境下进入%WXPATH%/build/msw 目录。这里面有一系列makefile,根据其对应的编译器不同有着不同的后缀,并且每种编译器也对应着一个config 文件。

makefile.vc 和 config.vc。

用文本编辑器打开 config.vc 文件。这是关于如何编译
wxWidgets 的设置。这里解释一些重要的选项。

SHARE: 编译产生的 wxWidgets 库是静态库还是动态库
UNICODE: 是否支持 unicode utf-8
BUILD: 编译产生的库是用于调试的还是最终发行的

UNICODE、BUILD
选项可产生四种组合,产生四套不同的库,若再和SHARE 组合则可产生八套不同的库。

MONOLITHIC: 是否只产生一个单一的库文件。

USE_GUI: 是否编译图形界面库
USE_HTML: 是否编译 HTML 库
USE_XRC: 是否编译 XRC 库
USE_OPENGL: 是否编译 OPENGL 库
USE_ODBC: 是否编译 ODBC 库
USE_QA: 是否编译 QA 库

RUNTIME_LIBS: 使用动态还是静态的 C++ 运行库,对应VC编译器的 /MD 和 /MT 参数


除了 UNICODE 和 BUILD 选项之外,其它选项如下:

SHARE = 0
MONOLITHIC = 0
USE_GUI = 1
USE_HTML = 1
USE_XRC = 1
USE_OPENGL = 1
USE_ODBC = 1
USE_QA = 1
RUNTIME_LIBS = static


nmake -f makefile.vc BUILD=xxxx UNICODE=yy

编译产生的临时文件分别在 msw mswd mswu mswud
四个子目录中,这些是为了在调整设置后重新编译时节约时间的,若不想重新编译可以把它们删掉。而最终产生的lib 文件已经被拷贝到了 %WXPATH%/lib/vc_lib下。其中每套库还有一个配置文件,分别在%WXPATH%/lib/vc_lib 下的 msw mswd mswu mswud
四个目录中,这些配置文件里包含许多可以调整的预编译选项,具体可以参考相关文档。

到此为止,wxWidgets库已经编译好了。

设置一个使用 wxWidgets 的Visual Studio 工程

启动 Visual C++ 2005,打开Tools/Option 菜单。这里是 IDE 的一些全局选项。看看
Projects and Solutions/VC++ Directories 里面是否包括 Platform SDK的include 和lib目录,如果没有的话加上。

然后新建一个工程(Win32 Application,在工程设置里面修改编译器和连接器的设置如下(注意把%WXPATH% 换成真实的 wxWidgets 解压目录):

[Debug]

Configuration Properties/C/C++/General/Additional Include Directories:
%WXPATH%/include;%WXPATH%/include/msvc

Configuration Properties/C/C++/Preprocessor/Preprocessor Definitions:
WIN32;__WXMSW__;_WINDOWS;_DEBUG;__WXDEBUG__

Configuration Properties/C/C++/Code Generation/Runtime Library:
Multi-threaded Debug(/MTd)

Configuration Properties/Linker/General/Additional Library Directories:
%WXPATH%/lib/vc_lib

Configuration Properties/Linker/Input/Additional Dependencies:
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 odbc32.lib opengl32.lib
(wxWidgets 的库好像会在预编译里自动被加上,否则可以将wxXX库添加进去)

Configuration Properties/Linker/Debugging/Generate Debug Info:
Yes(/DEBUG)

[Release]

Configuration Properties/C/C++/General/Additional Include Directories:
%WXPATH%/include;%WXPATH%/include/msvc

Configuration Properties/C/C++/Preprocessor/Preprocessor Definitions:
WIN32;__WXMSW__;_WINDOWS

Configuration Properties/C/C++/Code Generation/Runtime Library:
Multi-threaded Debug(/MT)

Configuration Properties/Linker/General/Additional Library Directories:
%WXPATH%/lib/vc_lib

Configuration Properties/Linker/Input/Additional Dependencies:
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 odbc32.lib opengl32.lib

此外还需特别注意字符集是否是Unicode.总之,工程需要和添加的库的版本相符


nmake -f makefile.vc BUILD=release UNICODE=1
nmake -f makefile.vc BUILD=debug UNICODE=1
 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值