用vs2008编译wxWidgets 2.8.12

  FileZilla客户端源码3.5.3及以上版本依赖wxWidgets 2.8.12或更高版本,因此,编译FileZilla客户端首先需要编译wxWidgets 2.8.12。本文简单介绍一下VS2008编译wxWidgets 2.8.12的步骤和方法。

1  下载wxWidgets 2.8.12

  wxWidgets官网下载https://www.wxwidgets.org/downloads/,版本为wxMSW,下载后解压。

2  为wxWidgets 路径添加环境变量

  右键我的电脑->系统设置->高级->环境变量->系统变量->新建->输入名称:WXWIN  值:E:\codeEnvir\sdk\wxMSW-2.8.12。

  变量值需要指定wxMSW-2.8.12路径。连点保存退出。

3  命令行namke编译或vs工程编译

  打开Visual Stuido 2008 Command Prompt命令行工具,切换到E:\codeEnvir\sdk\wxMSW-2.8.12\build\msw目录。输入nmake /f makefile.vc SHARED=0 UNICODE=1 BUILD=debug MONOLITHIC=0,等待编译完成。

  SHARED属性值为0,表示生成lib。为1,表示成成dll;

  UNICODE属性值为0,表示生成多字节。为1,表示生成UNICODE,生成的lib或dll会用u标识。

  BUILD属性值为debug生成debug版本,为realease生成release。

  MONOLITHIC属性值为0表示生成多组件库,即多个lib等。为1表示生成单个组件库,只有一个lib和dll。

  在build/msw目录下,有wx.dsw和wx_dll.dsw工程文件,也可以直接打开工程文件编译。这种方法比命令行编译慢。

  编译完成后,会在wxMSW-2.8.12的lib文件夹下生成vc_lib,vc_lib内包含lib(或dll)以及mswud(unicode+debug)文件夹,mswud文件夹内包含需要引入的头文件setup.h和rcdefs.h。setup.h包含了当前编译环境的宏定义,rcdefs.h包含了对资源文件的宏定义。

4  工程属性配置

4.1  加入包含文件

  工程属性->C/C++->General->Additional Include Directories,加入wxMSW-2.8.12下的include和第三步生成的vc_lib\mswud。使用第二步的环境变量,配置如下:

$(WXWIN)\include
$(WXWIN)\lib\vc_lib\mswud

  工程属性->C/C++->Preprocessor->Preprocessor Definitions,加入

WIN32
_DEBUG
__WXMSW__
__WXDEBUG__
_WINDOWS
NOPCH

  其中,__WXMSW__是必须要写的,__WXDEBUG__用于调试。其余项根据工程要求自行设定。

4.2  加入库引用

  工程属性->Linker->General->Additional Library Directories,加入lib路径引用。

$(WXWIN)\lib\vc_lib

  工程属性->Linker->Input->Additional Dependencies,加入lib名称

wxmsw28ud_core.lib
wxbase28ud.lib
wxtiffd.lib
wxjpegd.lib
wxpngd.lib
wxzlibd.lib
wxregexud.lib
wxexpatd.lib
winmm.lib
comctl32.lib
rpcrt4.lib
wsock32.lib
wininet.lib

  在wxwidgets的引入lib中,core和base是必须要引入的,其余项可根据需要添加。

4.3  加入资源文件引用

  工程属性->Resoucres->Genera->Preprocessor Definitions,加入4.1节预处理器定义。

  工程属性->Resoucres->General->Additional Include Directories,加入4.1节文件包含。

5  编译测试程序minimal

  用vs2008打开wxWidgets 2.8.12的samples文件夹下minimal工程,按上述配置逐一检查配置项。编译运行后结果如下:

6  相关参考

1:《How to compile a wxWidgets application in Visual Studio 2008?》    地址:http://www.tuicool.com/articles/BRrAji

2:《跟我学wxWidgets开发》  地址:http://www.cnzui.com/archives/921

3:Installing wx 2.4 with VisualStudio 6 地址:https://wiki.wxwidgets.org/Installing_wx_2.4_with_VisualStudio_6

vs2008编译wxWidgets 2.8.12的更多相关文章

  1. vs2008编译FileZilla客户端源码

    vs2008编译FileZilla客户端源码 下载FileZilla客户端源码,下载地址https://download.filezilla-project.org/. FileZilla客户端解决方 ...

  2. Win7下VS2008编译QtiPlot

    Win7下VS2008编译QtiPlot By wangsh 2011-11-25 QtiPlot 是一款开源免费的科学绘图软件,可运行在多个平台(windows.Linux等)中,从功能上讲,Qti ...

  3. win10+vs2008编译比特币1.0版源码总结

    https://zhuanlan.zhihu.com/p/25074960 https://zhuanlan.zhihu.com/p/25095222 总体上是参考这两个链接,感谢大神的分享,但是中间 ...

  4. 【VS开发】【Live555-rtsp】在windows 使用vs2008编译live555

    在windows 使用vs2008编译live555 基于 liveMedia的程序,需要通过继承UsageEnvironment抽象类和TaskScheduler抽象类,定义相应的类来处理事件调度, ...

  5. GCC-4.6.3编译linux2.6.32.12内核出现“重复的成员‘page’”错误的解决方法

    使用gcc4.6.3编译linux2.6.32.12内核出现错误如下: In file included from drivers/net/igbvf/ethtool.c:36:0: drivers/ ...

  6. MinGW编译wxWidgets中的问题及解决方法

    其实网上wxWidgets编译相关的博文,都没写到关键点上,泛泛而谈——就写了执行几个命令,就万事大吉了! 维基百科上的这个页面讲解了编译中可能遇到的各种问题及解决办法.比较懒,不想翻译.wxWidg ...

  7. vs2008编译boost

    vs2008编译boost [一.Boost库的介绍] Boost库是一个经过千锤百炼.可移植.提供源代码的C++库,作为标准库的后备,是C++标准化进程的发动机之一.Boost库由C++标准委员会库 ...

  8. 【转】Windows下使用VS2008编译OpenCV 2.1 添加Intel TBB和Python支持

    Windows下使用VS2008编译OpenCV2.1 添加Intel TBB和Python支持 步骤: 1.仔细阅读OpenCV官网上的InstallGuide:http://opencv.will ...

  9. 编译mapnik(win7 环境下vs2008编译mapnik 0.7.1 成功)

    编译mapnik(win7 环境下vs2008编译mapnik 0.7.1 成功) ------by  wangsh 2012.02.22 Mapnik 是一个开源的 Python/C++ 地图渲染引 ...

随机推荐

  1. head first--------------------template method pattern

    head first---------模板方法模式         浅谈谈模板方法模式:在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中.模板方法使得子类可以在不改变算法结构的情况下,重新定义 ...

  2. 最近学习了下BI(商业智能)做报表

    最近公司购买了Style intelligence 出的BI报表工具,接触新的东西不是很容易上手,这个东西是别的项目组用的,我们项目组由于进度比较快就让我先到他们项目组帮他们,为了使用这个东西,他们已 ...

  3. Embedded Linux Primer----嵌入式Linux基础教程--导论

    第一章 导论 在这一章里(将要学习到) 为什么是Linux 嵌入式Linux现状 开源和GPL(译者:通用公共许可证) 标准和有关团体 本章总结 放弃专有操作系统正在许多传统嵌入式操作系统公司引起一阵 ...

  4. Spring MVC 笔记 —— Spring MVC 文件上传

    文件上传 配置MultipartResolver <bean id="multipartResolver" class="org.springframework.w ...

  5. C语言递归回溯法迷宫求解

    本例将随机产生一个10*10的迷宫输出后,在下面输出此迷宫的解法. 解法为从坐标(1,1)处进入,从(8,8,)出去,优先线路为先右后下再上最后为左. 不少人求解此题时运用的栈的相关知识,本例寻找线路 ...

  6. 集中式(CVS、SVN)VS分布式(Git)

    集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器.中央服务器就好比是一个图 ...

  7. json格式化和查看工具

    以前一直以来都觉得xml个可读性要比json的可读性好,后来使用了JSON Viewer这个小工具之后,发现自己错了.之前认为json的可读性差,完全是因为没有很好的查看工具.JSON Viewer这 ...

  8. ASP.NET MVC WebApi 返回数据类型序列化控制(json)

    注:本文为个人学习摘录,原文地址:http://www.cnblogs.com/OpenCoder/p/4628557.html 我们都知道在使用WebApi的时候Controller会自动将Acti ...

  9. ap143 添加复位和重启按钮

    1.修改匹配的文件mach-ap143.c 定义按键对应的GPIO(根据原理图来) #define AP143_GPIO_BTN_RESET 12 添加按钮的初始化消息 注册定时轮询按钮动作的函数 2 ...

  10. Windows 下 Apache HTTP Server 与 Tomcat 的整合

    整合准备: 1.Apache HTTP Server(下文用Apache简称) 2.Tomcat 7或8 3.mod_jk.so (tomcat-connectors)-这个文件是用来链接http s ...