驰骋wxWidgets系列之轻装上阵跨平台[未完成]

Utensil按:这篇文章写的内容比当初想象的多,花的时间也长,暂时先把目前的进度贴上来。依然不整理走样的格式。但是,走样的也太难看了!!-_-| 大家对将来的pdf版要有信心……第一章 轻装上阵跨平台本章的目的是讲述,如何实现在不依赖任何IDE[1]的情况下,使用gcc编译器在Windows、Linux、Mac OS三大平台上编译wxWidgets、wxWidgets的例子,以及利用wx
摘要由CSDN通过智能技术生成

Utensil按:这篇文章写的内容比当初想象的多,花的时间也长,暂时先把目前的进度贴上来。依然不整理走样的格式。但是,走样的也太难看了!!-_-| 大家对将来的pdf版要有信心……

第一章 轻装上阵跨平台

本章的目的是讲述,如何实现在不依赖任何IDE[1]的情况下,使用gcc编译器在WindowsLinuxMac OS三大平台上编译wxWidgetswxWidgets的例子,以及利用wxWidgets提供的Bakefile支持来编译自己的wxWidgets程序。本章还涉及到了一些上下游的细节,一些初次尝试者会卡壳的地方。

1.1 为什么要自己编译wxWidgets

为什么要自己编译wxWidgets这么麻烦?wxWidgets为什么不提供一个只需要点“下一步”的安装程序?为什么不提供一个IDE直接就支持wxWidgets,像安装完了VC++直接就能在里面写wxWidgets程序,就能运行,效果直接?

关于第一个和第二个问题,一个很大的原因是wxWidgets是跨平台的,在它作为一个类库发布的时候,你说它提供哪些平台上的安装程序好呢?事实上,wxWidgets主要是以源代码的形式发布的,伴随它的,还有各主要平台上的Makefile,甚至一些主要IDE的工程文件(比如VC的工程,从6.02005都有支持),这已经为我们编译它提供了相当的便利了。

倒也有人在做wxWidgets的打包工作,就我注意到的而言,其中一个是wxPack[2],另外一个是wxWidgets installation wizard[3],而且现在官网上也有了Windows下的Installer。我没有选择它们的原因是:我们不应当等待和依赖他人,而应该“自己动手,丰衣足食”,这是一个人起码的志气。而且,今天我们学会了(并习惯了)编译wxWidgets库,明天就能够编译Boost库、Linux内核等等等等,只要有源码,我们就能编出最新的库,编出最新的软件,还可以边改边编,这就是DIY的自在与乐趣。

话虽这么说,初次尝试时因为缺少指引而频频遭遇莫名其妙的错误实在让人气馁,我也曾经历过这个阶段,所幸坚持下来了,没有放弃对wxWidgets的学习,这也是为什么我希望能够为初学者们写一份清晰的指南。

至于第三个问题,就Windows下而言,wxDev-C++是一个不错的选择,它自带MinGW编译器,也帮你把wxWidgets编译好了,甚至在你新建一个wxWidgets工程时,帮你写好了该链接的库。你只需要看着wxWidgets的教程,开始编程,并点菜单编译,一切都为你打点好了。但我个人并不推荐wxDev-C++作为wxWidgets深入开发的IDE——它是用Delphi写的,只能在Windows下运行,即它不是跨平台的,而且它的RAD部份也过于像VB的思维,而不是更利于跨平台开发的Sizer思维,甚至它可能娇惯你写出不能跨平台的代码,还有,它没有提供太多我需要IDE提供的功能。下一章我将介绍我推荐的IDERAD工具——Code::BlockswxFormBuilder,它们都是用wxWidgets写成,好用、开源、跨平台、免费。

 

1.2 获得wxWidgets

wxWidgets是以源代码的形式发布的。通常我们使用它的稳定版。本文写作的时候的稳定版是2.8.7,而2.9.0即将推出。如果想试用最新的功能,又不怕它的Bug,可以玩玩最新的wxWidgets

1.2.1 下载最近的稳定版wxWidgets源代码

http://www.wxwidgets.org/downloads/wxWidgets的下载页面。看到Current Stable Release一节,里面有三个小节,第一个小节Source Archives中的wxAll就是我们要下载的,里面包含了所有平台的源代码,还可以选择不同的压缩格式,Windows下常见的zip格式,Linux下常见的tar.gz。下载下来后,解压到某个地方,比如我在Windows下就是C:/,解压出来会有一个wxWidgets-版本号的文件夹

1.2.2 获得最新的wxWidgets

下载wxWidgetsDaily Snapshot

要获得最新的wxWidgets,一个简单点的办法是下载wxWidgetsDaily Snapshot,它是对每天的SVN版本的wxWidgets的一个打包。在http://www.wxwidgets.org/downloads/最下面有一个Daily Snapshot的链接,它会链接到一个文件列表,里面的文件的最后修改日期都是今天。可以下载里面的wxWidgets.zipwxWidgets.tar.gz,相当于最新的wxAll。而wxWidgets-snapshot.tar.gz这个大家伙,则还包含wxWidgets网站内容、开发者用到的一些脚本,甚至SVN的版本信息——这样一来,你可以在下面这种方法中,省去检出(check out)的一步,直接svn update就可以了。

SVN trunk

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值