加载中...
下载、编译wxWidgets库
第1节:安装并升级Code::Blocks
第2节:安装并集成MinGW-w64
第3节:下载、编译wxWidgets库
第4节:下载、编译boost
第5节:下载、安装MySQL及配套工具
第6节:安装 MySQL++
第7节:配置CodeBlock全局路径变量
课文封面

《白话C++》书第2章“准备”,2.4小节:安装wxWidgets。注意:

  1. 使用wxWidgets 2.8.12版本;
  2. 需要修改 mingw-w64 (上一节课安装的) 下 “commctrl.h” 头文件;
  3. 使用新版gcc时,还需添加一个编译选项:-Wno-narrowing

0. 基础知识

建议在观看视频前,先简单阅读以下准备内容。

0.1 简单介绍wxWidgets

教学使用的是wxWidgets 2.x版本中的最高版本2.8.12。

wxWidgets本身已经有 3.x 的版本,并且个别地方无法向下兼容,但在GUI原理与主要知识,二者没有本质变化。

wxWidgets官方提供了已经编译好的二进制库,但使用的是微软的C++编译器,而不是我们上一节课准备的GCC,所以我们需要下载源代码自行编译。

下载源代码自行编译的事,对一个C++编程人员往往是“跑不掉”会遇上的,所以本节课主要任务虽然是编译出wxWidgets,次要任务是大体了解“从源代码构建出二进制库”的基本过程。

0.2 下载

下载关键信息项:

0.3 修改 mingw-w64 头文件

视频中提及的,需要修改的文件为:

C:\cpp\mingw-w64-32bit\mingw32\i686-w64-mingw32\include\commctrl.h

其中:

  1. C:\cpp 是你在第一节课准备的文件夹;
  2. mingw-w64-32bit 也有可能多出一个32:mingw32-w64-32bit,具体看你在上一节课,是不是也和“将错就错”用了这个目录名字。

commctrl.h内,待修改的是第4017行:将在该行大于号后面,加上等号,即 > 改为 >=。

0.4 编译 (有新增内容)

以下是新增内容:

请结合书本内容和视频教学完成;除了需要在一开始 修改 config.gcc 文件时,多加一个配置

在视频频所讲的,将 config.gcc 文件中的“UNICODE ?= 0” 修改为 “UNICODE ?= 1” 之后,请再往上找到 CPPFLAGS,将该行原来的 “CPPFLAGS ?= ” 后面加上 “-Wno-narrowing”, 成为:

CPPFLAGS ?= -Wno-narrowing

如图:

配置CXXFLAGS

修改后,切记一定记得Ctrl+S保存config.gcc文件,否则也可能编译失败。

gcc升级后,对某些警告似乎升级为直接报错了。本处是因为 int 类型的负数强制转换为unsigned long (无符号长整数)类型。

新增内容结束 。

1. 视频