zoukankan      html  css  js  c++  java
  • wxWidgets刚開始学习的人导引(2)——下载、安装wxWidgets

    2 下载、安装wxWidgets

      这方面的资料从网络能够找到不少。wxWidgets的文档,要涵盖各种操作系统和编译环境,难免让人有点无所适从。这对刚開始学习的人,是灾难。

      以下文字,适合于大部分刚開始学习的人的工作环境。为能边看边做,请确认:(1)你用的是Windows操作系统(强烈建议刚開始学习的人进阶后,适时开启Linux下开发的体验);(2)已经安装了Code::Blocks(版本号不限,但也别太低了);(3Code::Blocks使用gcc编译器,随Code::Blocks的安装已经装好。


    2.1 下载wxWidgets

      wxWidgets的官网在http://www.wxwidgets.org/downloads/,下载页面是http://www.wxwidgets.org/downloads/

      作为Windows用户,从下载页面下载例如以下画圈的两个文件。Windows.ZIPwxWidgets的源码,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面对的是在不同操作系统(LinuxunixWindowsMac 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:CodeBlocksMinGWin,当中的文件,例如以下图所看到的,就是支持你的C++工作的GCC系列程序。

       

      记下这个目录名(简单办法,将路径复制下来,临时粘贴到一个文本文件里备用)。以下要配置执行编译器的“环境”,确切地说,仅仅须要设置“路径”(PATH)就可以。

      在Win7中,鼠标右击桌面上的“计算机”图标,选菜单中的“属性”,接下来,就是例如以下图中从16的一系列操作,将“变量名”为PATH的“变量值”,在原有值的后面加一个英文的分号,再增加你记下的X:CodeBlocksMinGWin。注意,不要将原有的内容替换掉,而是追加你你须要的路径就可以。

       

      其它版本号的Windows,找到“系统属性”对话框的方式可能会稍有不同,终于的目标都是设置好PATH的值。

      还有别一种方式,直接用DOS命令做。有不少资料中讲这样的做法,本文不做介绍。


    2.4 编译wxWidgets

      编译wxWidgets的事情须要用命令行的方式完毕。


    2.4.1 用命令行编译wxWidgets

      从“開始”菜单->附件,执行“命令提示符”(有的系统称“MS-DOS方式”),在命令行下分别输入以下的命令:

    命令

    解释

    X:(回车)

    当前盘置为XX是你解压缩wxWidgets用的盘符。

    cd wxWidgets-3.0.0uildmsw(回车)

    当前目录置为/wxWidgets-3.0.0uildmsw,能够查看这个目录中的文件,msw是专供微软(ms)Windows(w)用的编译须要的文件(注:wxWidgetsC++源码在wxWidgets-3.0.0src中)。

    gcc -v(回车)

    这个命令并不是必须,意在检查刚才的路径设置是否正确。下图的输出,表明在X:/wxWidgets-3.0.0uildmsw目录中,能够执行X:CodeBlocksMinGWin中的命令。还能够看到,当前使用的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_mswuddllmonodll_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的取值能够是10,代表产生的是动态链接库(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”部分。




    ================= 迂者 贺利坚 CSDN博客专栏=================
    |== IT学子成长指导专栏 专栏文章的分类目录(不定期更新) ==|
    |== C++ 课堂在线专栏  贺利坚课程教学链接(分课程年级) ==|
    |== 我写的书——《逆袭大学——传给IT学子的正能量》    ==|
    ===== 为IT菜鸟起飞铺跑道,和学生一起享受快乐和激情的大学 =====


  • 相关阅读:
    HDU 2236 无题Ⅱ
    Golden Tiger Claw(二分图)
    HDU 5969 最大的位或 (思维,贪心)
    HDU 3686 Traffic Real Time Query System (图论)
    SCOI 2016 萌萌哒
    Spring Boot支持控制台Banner定制
    构建第一个Spring Boot程序
    Spring Boot重要模块
    Java fastjson JSON和String互相转换
    BCompare 4 Windows激活方法【试用期30天重置】
  • 原文地址:https://www.cnblogs.com/blfshiye/p/4082385.html
Copyright © 2011-2022 走看看