介绍一些有关c/c++的文章 例如:VC++6.0 下搭建 wxWidgets 开发环境 最强大的.NET语言之对象构造 最强大的.NET语言之内存与资源 最强大的.NET语言之装箱 C++

源代码在线查看: [转]vc++6.0 下搭建 wxwidgets 开发环境.txt

软件大小: 120 K
上传用户: jc6629402
关键词: NET wxWidgets 语言 6.0
下载地址: 免注册下载 普通下载 VIP

相关代码

				
				[转]VC++6.0 下搭建 wxWidgets 开发环境
				点击数:244    发布日期:2008-11-12 12:59:00  
				【收藏】 【评论】 【打印】 【编程爱好者论坛】 【关闭】
				
				
				 
				和 GTK、QT、SWT、SWING 一样,wxWidgets 也是一种开源跨平台的 GUI 框架。因 wxWidgets 和 MFC 有些渊源,有些亲近,故要体验一番 wxWidgets。现在最新版是 2.8.7。wxWidgets 程序还可运行于 Windows CE、Palm OS。不但包括 GUI,还有 Media、Socket、ODBC 等库。 详情请见 wxWidgets 的官方网站是:http://www.wxwidgets.org 本篇介绍 VC++6.0 下如何搭建 wxWidgets 的开发环境,包括编译 wxWidgets 源码和配置 VC 环境。所用 wxWidgets 的版本是 2.8.7。 第一步:下载并安装 wxWidgets 在 http://www.wxwidgets.org/downloads/ 下载到 wxWidgets 源码。你可以下载 Windows 安装版 http://prdownloads.sourceforge.net/wxwindows/wxMSW-2.8.7-Setup.exe (11.9M) 或者是 Zip 压缩版 http://prdownloads.sourceforge.net/wxwindows/wxMSW-2.8.7.zip (15.9M) 假如我们下载的是 wxMSW-2.8.7-Setup.exe,就可运行它,过程中我们假定选择的安装目录是 d:\wxWidgets-2.8.7。 完成后,我们看到安装目录所在空间的大小是 127M。 注意要给 wxWidgets 有足够的剩余空间,单是编译一个版本的静态库就会增至300多M,如果还要编译动态库再选择上 DEBUG 或者 RELEASE、ASCII 或是 UNICODE 等,还要编译 sample 的话,最后空间能够暴到 2G。 第二步:编译 wxWidgets 编译方式有两种,一种是在 VC++ 中打开 wx.dsw 进行编译,另一种是用 nmake 在命令行下编译。 1) nmake 编译 运行 cmd.exe 来到命令行下,进入到目录 d:\wxWidgets-2.8.7,然后执行 D:\wxWidgets-2.8.7>nmake -f makefile.vc 默认是编译成 DEBUG 版的静态库。也许我们在编译之前需要根据自己的需要进行一些设置: 打开 D:\wxWidgets-2.8.7\include\wx\msw\setup.h 保证第 110 行的 #define wxUSE_DEBUG_NEW_ALWAYS 设置为 0。默认是 0 的。将 1137 行的 #define wxUSE_IOSTREAMH 设置为 0,否则无法使用 VC 的模板库(不能用 std 命名空间下的)。默认是 1。如果要使用 wxWidgets 提供支持数据库的 ODBC 类,将 #define wxUSE_ODBC 设为 1。默认是 1。 如果你想生成动态库,或生成的是 Release 版的,你可以修改 D:\wxWidgets-2.8.7\build\msw\config.vc 文件。打开该文件你能看到可以更改的选项,其中重要的几个如下: # What type of library to build? [0,1] -- 生成库的类型,0为静态库,1为动态库 SHARED = 0 # Compile Unicode build of wxWidgets? [0,1] -- 是否使和 UNICODE,0 否,1 是 UNICODE = 0 # Type of compiled binaries [debug,release] -- 是 debug 还是 release BUILD = debug 其中还有许多顾名思义的选项,请根据需求修改。 对于 config.vc 中的选项也可以通过命令行覆盖掉配置文件中的值,如编译命令用 D:\wxWidgets-2.8.7>nmake -f makefile.vc SHARED=1 UNICODE=1 BUILD=release 就是编译 release 版,支持 UNICODE 的动态库了。 动态库和静态库的不同体现在使用上,静态库中的代码能编译进应用程序的 exe 文件中,这个 exe 文件可单独发布,但体积较庞大。动态库可让 exe 文件执行时加载,虽然 exe 文件体积小了,但发布时必须带着相应的动态库文件。 2) VC 编译还可用 VC++ 打开 D:\wxWidgets-2.8.7\build\msw\wx.dsw,然后选择 Build->Batch Build... ,我们看到每个工程都有 16 个配置,请根据应用需求勾选你的配置,如所有工程的 Win32 Release 和 Win32 Debug 版本,然后 Build,如果你照单全收,编译将非常耗时而占空间。这种编译方式就是可以一下操作帮你编译出所有需要的版本。 好,等等编译完之后,在目录 D:\wxWidgets-2.8.7\lib\ 会有产生一个目录:vc_lib 是静态库的目录,默认编译有 17 个静态。如果是编译成动态库则会产生目录 vc_dll。在 vc_lib 中有 mswd 目录,release 版对应的是 msw,里面含有 Debug 和 Release 版的 setup.h。 注意到 Debug 版和 Release 以及和 UNICODE 、动态库、静态库组合条件编译生成的文件和目录名。静态库编译到 D:\wxWidgets-2.8.7\lib\vc_lib 目录中动态库编译到 D:\wxWidgets-2.8.7\lib\vc_dll 目录中文件命名为 wxmsw28d_core.lib 文件为例: wxmsw28_core.lib ---- Release,非 UNICODE 版 wxmsw28d_core.lib ---- Debug,非 UNICODE 版 wxmsw28u_core.lib ---- Release,UNICODE 版 wxmsw28ud_core.lib ---- Debug,UNICODE 版对于 dll 文件的命名规范也一样的。在 vc_lib 和 vc_dll 下如果全编译了会有四个目录,msw、mswd、mswu、mswud 意义同上。 编译完后可以把那些过程中的目标文件删了,它们占的空间实在是太大。要是你还想以后重新编译用就留着吧。 第三步:创建 wxWidgets 项目 创建一个 Win32 Application 的空项目,项目名为 wxHello Proejct->Settings (Alt+F7) 进入项目设置 1. C/C++选项卡->Code Generation -> use run-time library 设置为: Debug MutilThread DLL 2. C/C++选项卡-> PreProcessor -> PreProcessor Definitions 设置加上 __WXMSW__,__WXDEBUG__ ,如果是 Release 版,则只需加上 __WXMSW__。 3. C/C++选项卡-> PreProcessor -> Additional include directories 设置为 D:\wxWidgets-2.8.7\include,D:\wxWidgets-2.8.7\include\lib\vc_lib\mswd, 这是设置附加 Include 路径。 4. Link 选项卡-> Input -> Object/library modules 设置加上 wxmsw28d_core.lib wxbase28d.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexd.lib wxexpatd.lib 这些 Lib(没有这四个 lib comctl32.lib rpcrt4.lib winmm.lib wsock32.lib 的话请加上,关键是前两个)。如果要使用 wxODBC 就加上			

相关资源