wxWidgets初学者导引(2)——下载、安装wxWidgets
2 下载、安装wxWidgets
这方面的资料从网络可以找到不少。wxWidgets的文档,要涵盖各种操作系统和编译环境,难免让人有点无所适从。这对初学者,是灾难。
以下文字,适合于大部分初学者的工作环境。为能边看边做,请确认:(1)你用的是Windows操作系统(强烈建议初学者进阶后,适时开启Linux下开发的体验);(2)已经安装了Code::Blocks(版本不限,但也别太低了);(3)Code::Blocks使用gcc编译器,随Code::Blocks的安装已经装好。
2.1 下载wxWidgets
wxWidgets的官网在http://www.wxwidgets.org/downloads/,下载页面是http://www.wxwidgets.org/downloads/。
作为Windows用户,从下载页面下载如下画圈的两个文件。Windows.ZIP是wxWidgets的源代码,Manual(HTML).zip则是在学习过程中最重要的参考(即前述的在线文档)。在4.2节中,将专门介绍在线文档的使用。
下载后,将文件Windows.ZIP解压缩,下图是我解压缩后的结果,我将其解压到了F:/wxWidgets-3.0.0中。后文中,我将用X:/wxWidgets-3.0.0表示这个文件夹,X代表你选择的盘符。
2.2 为什么要自己编译wxWidgets
一般的Windows应用程序,总是有一个安装程序(常常是setup.exe),只要运行这个程序,就可以将软件安装好。
wxWidgets不是这样。下载得到的,不是能运行的程序,而是wxWidgets的源代码!开源软件提供给用户源代码,你可以直接阅读和修改。
不少开源软件也提供安装程序,用户安装后就可以使用。这是适用于软件的使用者的方式,而不是针对开发者的方式。
现在,你是开发者。作为开发者,常是下载源代码后,自己编译。这对于大众是高要求,但对专业人员,却是常用的套路。
wxWidgets不是一般的应用程序,是为支持应用程序开发的平台。wxWidgets面对的是在不同操作系统(Linux、unix、Windows、Mac OS)下工作的开发人员,他们使用的C++编译器(GCC家族、MS家族、Borland家族及其他各种)形形色色、版本各异。wxWidgets不便于提供各种组合下的安装程序。开发人员下载源码,自己编译自己用。这种方式,创建的是最适合自己的环境。
实际上,不这样做,往往得不到适合自己的开发环境。
所以,下面的步骤或许会有点挑战性。但不要有牢骚。这样做一遍,你作为开发者的成色,就更足一些。
实际上,wxWidgets中还提供了一个称为wxPack的编译好的版本,可以用于直接安装。在我的体验中,最新的wxPack使用的GCC版本低了,安装顺利,但却不能正确运行在我的开发环境中写的程序。这种方法,不推荐使用。
2.3 编译wxWidgets前的准备
编译wxWidgets,要先准备好编译器,并且配置好运行编译器的“环境”。
对于初学者,安装Code::Blocks时,选择带GCC编译器的安装文件进行安装。单独安装的GCC编译器,也可以在Code::Blocks中通过设置进行工作。
总之先找到Code::Blocks所在的文件夹(后文中我用“X:\CodeBlocks\”代表,X:\CodeBlocks\要替换为你使用的实际文件夹名)。随Code::Blocks安装的GCC,在Code::Blocks安装文件夹的MinGW子文件夹中,打开X:\CodeBlocks\MinGW\bin,其中的文件,如下图所示,就是支持你的C++工作的GCC系列程序。
记下这个文件夹名(简单办法,将路径复制下来,暂时粘贴到一个文本文件中备用)。下面要配置运行编译器的“环境”,确切地说,只需要设置“路径”(PATH)即可。
在Win7中,鼠标右击桌面上的“计算机”图标,选菜单中的“属性”,接下来,就是如下图中从1到6的一系列操作,将“变量名”为PATH的“变量值”,在原有值的后面加一个英文的分号,再加入你记下的X:\CodeBlocks\MinGW\bin。注意,不要将原有的内容替换掉,而是追加你你需要的路径即可。
其他版本的Windows,找到“系统属性”对话框的方式可能会稍有不同,最终的目标都是设置好PATH的值。
还有别一种方式,直接用DOS命令做。有不少资料中讲这种做法,本文不做介绍。
2.4 编译wxWidgets
编译wxWidgets的事情需要用命令行的方式完成。
2.4.1 用命令行编译wxWidgets
从“开始”菜单->附件,运行“命令提示符”(有的系统称“MS-DOS方式”),在命令行下分别输入下面的命令:
|
命令 |
解释 |
|
X:(回车) |
当前盘置为X,X是你解压缩wxWidgets用的盘符。 |
|
cd \wxWidgets-3.0.0\build\msw(回车) |
当前目录置为/wxWidgets-3.0.0\build\msw,可以查看这个文件夹中的文件,msw是专供微软(ms)的Windows(w)用的编译需要的文件(注:wxWidgets的C++源代码在\wxWidgets-3.0.0\src中)。 |
|
gcc -v(回车) |
这个命令并非必须,意在检查刚才的路径设置是否正确。下图的输出,表明在X:/wxWidgets-3.0.0\build\msw目录中,可以运行X:\CodeBlocks\MinGW\bin中的命令。还可以看到,当前使用的GCC版本是4.7.1。 |
下图是我运行上表中的命令出现的结果:
下面就可以要开始编译wxWidgets了。就在DOS提示符后面,输入下面的命令:
- mingw32-make -f makefile.gcc MONOLITHIC=1 SHARED=1 UNICODE=1 BUILD=debug
编译的过程会比较慢,会有几十分钟。干点别的,或者就看着屏幕上看不懂的提示发呆也好。理想情况是,顺利完成编译。
2.4.2 意外处理
我在编译wxWidgets中,苦等几十分钟,等来了一个error,最后两行提示是:
- gcc_mswuddll\monodll_xh_bmpcbox.o: file not recognized: Memory exhausted
- collect2.exe: error: ld returned 1 exit status
出现这种情况的,到http://blog.csdn.net/sxhelijian/article/details/25749505中的“问题1”,看原因解释以及对策。
2.4.3 多知道一点
用上面的命令编译后,可以满足学习的需求了。如果还想体验,以及支持将来生产用于发布的程序版本,可以在SHARED和BUILD参数的选取上再做些组合。
- SHARED的取值可以是1或0,代表产生的是动态链接库(1)和静态链接库(0)。两者的区别不解释,以后将明白,或者自行百度之。
- BUILD的取值可以是debug或release,代表在应用程序开发时,产生的可执行文件是调试版本(debug)还是发布版本(release)。
所以可以运行的命令还有3个:
- mingw32-make -f makefile.gcc MONOLITHIC=1 SHARED=0 UNICODE=1 BUILD=debug
- mingw32-make -f makefile.gcc MONOLITHIC=1 SHARED=1 UNICODE=1 BUILD=release
- mingw32-make -f makefile.gcc MONOLITHIC=1 SHARED=0 UNICODE=1 BUILD=release
关于这些参数的解释,参考http://blog.csdn.net/sxhelijian/article/details/25749505中的“问题2”部分。
http://blog.csdn.net/sxhelijian/article/details/26163791
wxWidgets初学者导引(2)——下载、安装wxWidgets的更多相关文章
- wxWidgets初学者导引(3)——wxWidgets应用程序初体验
wxWidgets初学者导引全目录 PDF版及附件下载 1 前言2 下载.安装wxWidgets3 wxWidgets应用程序初体验4 wxWidgets学习资料及利用方法指导5 用wxSmith ...
- wxWidgets刚開始学习的人导引(2)——下载、安装wxWidgets
wxWidgets刚開始学习的人导引全目录 PDF版及附件下载 1 前言2 下载.安装wxWidgets3 wxWidgets应用程序初体验4 wxWidgets学习资料及利用方法指导5 用wxS ...
- wxWidgets刚開始学习的人导引(3)——wxWidgets应用程序初体验
wxWidgets刚開始学习的人导引全文件夹 PDF版及附件下载 1 前言2 下载.安装wxWidgets3 wxWidgets应用程序初体验4 wxWidgets学习资料及利用方法指导5 用wx ...
- wxWidgets刚開始学习的人导引(4)——wxWidgets学习资料及利用方法指导
wxWidgets刚開始学习的人导引全文件夹 PDF版及附件下载 1 前言2 下载.安装wxWidgets3 wxWidgets应用程序初体验4 wxWidgets学习资料及利用方法指导5 用wx ...
- wxWidgets刚開始学习的人导引(6)——wxWidgets学习材料清单
wxWidgets刚開始学习的人导引全文件夹 PDF版及附件下载 1 前言2 下载.安装wxWidgets3 wxWidgets应用程序初体验4 wxWidgets学习资料及利用方法指导5 用wx ...
- 安装wxWidgets遭遇的两大关卡
早就想体验wxWidgets.这学期的C++课,课时还算充裕.关键是弟子们的实践能跟得上,我希望能让他们也浅尝一把GUI开发. MFC能够选.但既然IDE都用CodeBlocks了.还是选wxWidg ...
- Unity2017.x 版本的下载安装
Unity2017 版本从2017年7月开始正式发布Unity2017.1版本,为了初学者更加清晰明了的掌握全过程,笔者还是以完整的共19个步骤来给大家演示下载与配置安装的全过程,方便广大读者的无障碍 ...
- go语言,golang学习笔记1 官网下载安装,中文社区,开发工具LiteIDE
go语言,golang学习笔记1 官网下载安装,中文社区,开发工具LiteIDE Go语言是谷歌2009发布的专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速 ...
- Python下载安装及验证
目录: 一.Python介绍 二.python安装及验证 一.Python介绍 Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个 ...
随机推荐
- (转)Windows Server 2012 R2虚拟机自激活(AVMA)技术
转自: 老丁的技术博客 相信Hyper-v管理员都有这样的经历,安装多台虚拟机后,都要一台一台手工激活,如果虚拟机足够多的话,这是一项很繁琐的工作,但从Windows Server 2012 R2开始 ...
- IR_drop
IR压降是指出现在集成电路中电源和地网络上电压下降或升高的一种现象.随着半导体工艺的演进金属互连线的宽度越来越窄,导致它的电阻值上升,所以在整个芯片范围内将存在一定的IR压降.IR压降的大小决定于从电 ...
- 6、修改应用程序数码相框以支持自动关闭LCD
1. 修改数码相框以自动关闭LCD关闭LCD : 在读取触摸屏的函数中判断:如果15S内无数据,执行: echo auto > /sys/devices/platform/mylcd/power ...
- CSDN学院 免费技术答疑公开课,本周三场即将开播~~~
为了酬谢广大学员.CSDN学院特推出免费技术答疑公开课,让您开启一段充实的学习之旅~ 本周三场即将开播! ----------------------------------------------- ...
- 关于Altium Designer的一些设置
把原理图设置成A4纸张,是为了便于打印机打印出原理图来 原理图一定一定要和pcb图保持一致,这样是为了以后查找错误方便...
- [Yarn] Use Yarn to Create an Alternative Import Name of an Installed Library
In this lesson we'll show how to use yarn to alias the names of same npm libraries but install diffe ...
- C++中的虚析构函数、纯虚析构函数具体解释
C++中析构函数能够为纯虚函数吗? 众所周知.在实现多态的过程中,一般将基类的析构函数设为virtual.以便在delete的时候能够多态的链式调用.那么析构函数能否够设为纯虚呢? class CBa ...
- Nutch关于robot.txt的处理 分类: H3_NUTCH 2015-01-28 11:20 472人阅读 评论(0) 收藏
在nutch中,默认情况下尊重robot.txt的配置,同时不提供配置项以忽略robot.txt. 以下是其中一个解释.即作为apache的一个开源项目,必须遵循某些规定,同时由于开放了源代码,可以简 ...
- js进阶ajax基本用法(创建对象,连接服务器,发送请求,获取服务器传过来的数据)
js进阶ajax基本用法(创建对象,连接服务器,发送请求,获取服务器传过来的数据) 一.总结 1.ajax的浏览器的window对象的XMLHtmlRequest对象的两个重要方法:open(),se ...
- matplotlib学习之颜色样式
一.颜色 1.内建八种默认颜色 蓝色 - 'b' 绿色 - 'g' 红色 - 'r' 青色 - 'c' 品红 - 'm' 黄色 - 'y' 黑色 - 'k' 白色 - 'w' 2.灰度 plt.plo ...