MSW下wxWidgets的安装与编译
教程摘自网上各大博客、贴吧、论坛,结合自己的实践做了一些实质性的修改。
一、安装
首先从http://sourceforge.net/projects/wxwindows/files/2.8.12/wxMSW-2.8.12-Setup.exe/download上下载wxWidgets2.8.12。
建议将其安装某个驱动器的根目录下,比如:E:\ wxWidgets-2.8.12 目录下(尾部数字以您所使用的wxWidgets版本为准)。
二、编译
上一步安装wxWidgets,仅得到源代码文件及一些说明。我们还需要将其中的源代码编译成“库”文件。
今天我们将把wxWidgets编译译成四种形式:
动态链接库 + 调试版
动态链接库 + 发行版
静态链接库 + 调试版
静态链接库 + 发行版
正式开始编译之前,必须确保已经在电脑上正确安装好mingw32环境,安装C::B时选择MINGW版,就会在C::B目录下安装MINGW编译器。
并保证环境变量设置好:
右击我的电脑→属性→高级系统设置→环境变量→选择path变量(如果没有的话新建path变量)
→编辑path变量(不同的变量值之间用;隔开)→在变量值中输入“E:\CodeBlocks\MinGW\bin;E:\CodeBlocks\MinGW\include;E:\CodeBlocks\MinGW\lib;”(如果你的MINGW安装路径不同,求按照你的路径输入)
(以下四个版本都需要编译,而不是仅编译其一)
(1)静态链接(调试版)
步骤1:用记事本打开wxWidgets安装目录下,子目录“build\msw\”下面的“config.gcc”文件。
步骤2:找到以下内容,并确保将等号(?=)后面的值如下面内容所示。另外其它未指部分的内容,请保持不变。
步骤3:请确认保存了本步的修改成果,再继续下一步。
# What type of library to build? [0,1]
SHARED := 0
# Compile Unicode build of wxWidgets? [0,1]
UNICODE := 1
# Type of compiled binaries [debug,release]
BUILD := debug
步骤4:
SHARED 为 0表示要编译的是静态库,而不是动态库;
UNICODE为1,表示要编译成UNICODE版本,这一项在本次编译过程中始终为1。
BUILD为debug,表示要编译成含有调试信息的版本。
步骤5:
打开“开始”菜单,选择“运行”,输入cmd,进入控制台窗口,然后在其内通过cd命令,切换到wxWidgets安装目录下的“build\msw”路径。比如您把wxWidgets
安装在“E:\wxWidgets-2.8.12”,则过程如下:
E: (回车)
cd wxWidgets-2.8.12(回车)
cd build\msw (回车)
步骤6:在第5步的控制台中,继续输入以下命令:
mingw32-make.exe -f makefile.gcc (回车)
步骤7:这将开始一段长约30分钟的编译过程(视你的机器配置而定)。
(2)静态链接(发行版)
编译过程和前一版本主要差别在于“config.gcc”文件的修改内容:
# What type of library to build? [0,1]
SHARED := 0
# Compile Unicode build of wxWidgets? [0,1]
UNICODE := 1
# Type of compiled binaries [debug,release]
BUILD := release
其它操作方法不变。
(3)动态链接(调试版)
编译过程和前一版本主要差别在于“config.gcc”文件的修改内容:
# What type of library to build? [0,1]
SHARED := 1
# Compile Unicode build of wxWidgets? [0,1]
UNICODE := 1
# Type of compiled binaries [debug,release]
BUILD := debug
其它操作方法不变。
(4)动态链接(发行版)
编译过程和前一版本主要差别在于“config.gcc”文件的修改内容:
# What type of library to build? [0,1]
SHARED := 1
# Compile Unicode build of wxWidgets? [0,1]
UNICODE := 1
# Type of compiled binaries [debug,release]
BUILD := release
其它操作方法不变。
三、结束
这是一次漫长的编译过程,至此,我们完成了四个版本的wxWidgets库的编译。它是我们编写图形用户界面基础。
为了确保大家尽量顺利地完成编译,我们在“config.gcc”仅选择了最基本的编译选项。因此一些强大wxWidgets功能模块没有被编译成库,比如前面提到的非Unicode版,另外没有支持OpenGL、OBDC等功能。后面需要时,我们将会加上,并且令大家放心的是,这并不会带来又一次wxWidgets漫长完全编译。
MSW下wxWidgets的安装与编译的更多相关文章
- wxWidgets笔记_1_linux环境下wxwidgets的安装与配置
linux下wxwidgets环境的安装与配置 一.建立目标文件夹(自己定义) mkdir /opt/SCOTT 二.安装wxWidgets 1.wxWidgets版本号能够选用wxGTK-2.8.1 ...
- centos7.2下caffe的安装及编译
1.前期准备 安装依赖 sudo yum install protobuf-devel leveldb-devel snappy-devel opencv-devel boost-devel hdf5 ...
- Linux下源码安装redis,编译安装
1.下载redis源码 [root@localhost opt]# wget http://download.redis.io/releases/redis-4.0.10.tar.gz 2.解压缩 [ ...
- linux下boost的安装与编译
1.从boost官网下载boost库包: 2.然后解压到linux下的任意一个文件夹, 3.进入boost_1_57文件夹下,不同的boost版本会解压城不同的库文件夹, 4.执行././bootst ...
- wxWidgets的安装编译、相关配置、问题分析处理
wxWidgets的安装编译.相关配置.问题分析处理 一.介绍部分 (win7 下的 GUI 效果图见 本篇文章的最后部分截图2张) wxWidgets是一个开源的跨平台的C++构架库(framewo ...
- windows平台下安装、编译、使用mongodb C++ driver
本博客将记录在Win8.1 ,VS2013环境下编译.配置mongodb C++ driver的流程. 1.下载预备 下载Boost:http://sourceforge.net/projects/b ...
- [转]Caffe在Linux下的安装,编译,实验
Caffe在Linux下的安装,编译,实验 原文地址:http://www.cnblogs.com/evansyang/p/6150118.html 第一部分:Caffe 简介 caffe是有伯克利 ...
- 在VS2012下不安装VS2010编译VS2010的工程
虽然一路追随这VISUAL SUTDIO在编程,但是断档的情况还是有的,最近一次硬盘问题使得安装了所有的VS2003-VS2012的机器硬盘挂了,无奈只能够安装了,不过觉得没啥用了,就安装一个VS20 ...
- 配置 Windows 下的 nodejs C++ 模块编译环境 安装 node-gyp
配置 Windows 下的 nodejs C++ 模块编译环境 根据 node-gyp 指示的 Windows 编译环境说明, 简单一句话就是 "Python + VC++ 编译环境&quo ...
随机推荐
- foreach的一点理解
首先什么样的数据才能实现foreach 1 实现IEnumerable这个接口 2 有GetEnumerable()这个方法 然后为啥实现这个接口或者有这个方法就可以实现foreach遍历 首先我先用 ...
- ECMA5.1中Object.seal()和Object.freeze()的区别
1 Object.seal(O)的调用 When the seal function is called, the following steps are taken: If Type(O) i ...
- win7下简单FTP服务器搭建
本文介绍通过win7自带的IIS来搭建一个只能实现基本功能的FTP服务器,第一次装好WIN7后我愣是没整出来,后来查了一下网上资料经过试验后搭建成功,其实原理和步骤与windows前期的版本差不多,主 ...
- eval(phpcode) 字符当代码执行
eval(phpcode)eval() 函数把字符串按照 PHP 代码来计算.相当于在字符串两边分别加上PHP语 法标签 该字符串必须是合法的 PHP 代码,且必须以分号结尾. 如果没有在代码字符串中 ...
- JDK重要包和Java学习方法论
以下内容摘自:万能的林萧说:一篇文章教会你,如何做到简历中要求的“要有扎实的Java基础” 第一级别:精读源码 该级别包含的包如下: java.io java.lang java.util 第二 ...
- 在线小词典(mysql扩展库操作)
输入英文查询中文 1.建表 create table words( id int primary key auto_increment, enWords varchar(32) not null, c ...
- PHP异常处理
一.异常处理——可以有效地控制多条出现错误或异常的代码 基本语法如下: try{ //可能出现异常的代码 } catch(Exception $e){ //对异常处理 //1.自己处理 //2.不作处 ...
- 使用自定义《UIActivity》进行内容分享-b
简介 这段时间有很多朋友都问我关于怎么去集成ShareSDK或者友盟社会化分享SDK的问题, 其实我想说, Apple一开始就提供了一个类, 供我们去使用分享了, 在iOS 6之后更加增强了这个类, ...
- Android WebView缓存分析
http://blog.csdn.net/a345017062/article/details/8703221 WebView的缓存可以分为页面缓存和数据缓存. 页面缓存是指加载一个网页时的htm ...
- 预处理命令#define #undef #if #endif 的基本用法
C#的预处理命令其实还是蛮有用的,但是真正使用过得人不多,这个介绍一下平时用的比较多的预处理命令中的几个:#define,#undef ,#if,#endif.除此之外还有一些预处理命令#warnin ...