当前位置:首页 >> >>

Windows上配置CodeBlocks


Windows 上配置 Code::Blocks + wxWidgets
27 号晚上我问一个做共享软件的朋友 Lazaru(基于 FreePascal 的跨平台 IDE,类似于 Delphi)做桌面软

件如何,他推荐用 Code::Blocks,说 Nightly Build 已经很稳定,正式版很快就发布了,接着果然 28 号就 发布了正式版.

本文内容来自 Code::Blocks wiki 上的 WxWindowsQuickRef, 本文内容并非按照原文完全逐字逐句的翻译.
Code::Blocks 是一个跨平台的 C++IDE,支持 Windows,Linux,MacOSX.同时他还支持各种不同的编 译器,如 GNU/MinGW C/C++,VC++ 6.0/2003/2005/2008,Borland C++,Digital Mars 等等各种不同 的编译器.

经过 14 个组员长达 2 年对 Code::Blocks 的全部重写,终于发布了正式版 8.02,这个版本更包括了对构建 基于 wxWidgets 的跨平台 GUI 程序的支持,堪比 Visual C++.

wxWidgets 则是一个十分优秀的跨平台的 GUI 框架, 用其编写的 C++应用程序可以十分方便地迁移到不同 的系统上去.

Code::Blocks + wxWidgets 两个同是支持跨平台的 IDE 和框架,使得跨平台的编程非常方便.然而 Code::Blocks 虽然包含了对 wxWidgets 的支持,但是却没有包含 wxWidgets 的构建环境,我们必须手动 进行配置.另外,Code::Blocks 有一个安装包包含了 MinGW 的编译器,如果使用别的编译器,同样也需 要自己进行相应的配置.

前提准备
编译器
你至少应该正确安装了免费的 MinGW/GCC 编译器或者是某种微软的编译器 (Express editions 是免费的, 但是你还需要安装 Platform SDK).如果是用 MinGW/GCC,至少要准备 gcc-core,gcc-g++,binutils, w32api 以及 mingw32-make 包;同时,确保包含编译器可执行文件的目录(一般是 C:\MinGW\bin)在 Windows 的 PATH 环境变量中. 如果选择 MinGW/GCC 编译器,可以在直接选择包含 MinGW 的 Code::Blocks 安装包,见下一节.

最新版的 Code::Blocks
请下载最新的 8.02 发布版.尚未选择编译器可以选择包含 MinGW 的安装包.

wxWidgets
你可以选择下载 wxWidgets 的源代码然后自己进行构建,或者是直接安装预编译的 wxPack.

wxWidgets 源代码
安装包较小,可以根据自己的需求进行自定义构建,但是需要花费长时间进行编译.如果不清楚编译选项, 可能导致无法成功配置 Code::Blocks.

目前推荐的 wxWidgets 的版本是 2.8.7.点击此处下载 wxWidgets 2.8.7 源代码 Windows 安装包 (wxMSW-2.8.7-Setup.exe; 12.0 MB).你也可以检查一下 wxWidgets 的下载页面看看有没有更新的稳定版 下载.强烈建议你将代码安装到不带空格的路径中.必须保证盘中至少有 300MB 的剩余空间. 强烈建议你将代码安装到不带空格的路径中. 强烈建议你将代码安装到不带空格的路径中

wxPack

虽然安装包达 200MB,全部安装需要 3G,但是包含了预编译的所有可能用到的库文件,而且包含 VC 和 GCC 的两种版本,可以不用去考虑构建选项了.

当前 wxPack 的稳定发布版是 v2.8.7.03,基于 wxWidgets 2.8.7.点击此处下载 wxPack v2.8.7.03 (wxPack_v2.8.7.03.exe, 236.9 MB).你也可以查看 wxPack 下载页面看看有没有更新的稳定版下载.强烈 强烈 安装到没有空格的路径中. 如果你选择只 MSVC 版本, 应保证至少有 700MB 的剩余空间; 建议将 wxPack 安装到没有空格的路径中. 如果只选择 MinGW/GCC 版本,则应保证至少有 2.2GB 的剩余空间.

提示
如果磁盘使用了 NTFS 格式,可以开启文件压缩功能,上述的目录在压缩后可以减少 50%的空间占用.

编译 wxWidgets
使用 wxPack 则可以跳过这一步.

打开命令行(在开始菜单中点击"运行",输入 cmd 并回车).如果使用的 MSVC,你可以使用特定的用于 设置环境变量的命令行.如果你使用的 MSVC 版本还要求你单独下载 Platform SDK,确保全部包含了标 准编译工具和 Platform SDK 中要用到的环境变量.

转到 wxWidgets 的构建目录,其中<wxWidgets>是源码所在路径,通常是 C:\wxWidgets-2.8.7:

cd <wxWidgets>\build\msw

执行构建命令,MinGW/GCC 推荐的命令是:

mingw32-make -f makefile.gcc BUILD=release SHARED=1 MONOLITHIC=1 UNICODE=1

MSVC 推荐的构建命令是:

nmake -f makefile.vc BUILD=release SHARED=1 MONOLITHIC=1 UNICODE=1

这个过程需要花很久,快的机器大概 30 分钟可以完成,慢的可能就需要几个小时了.

如果使用的 GCC 的版本较新,构建过程中可能会出现大量的警告.这样会明显导致构建过程变慢;你可 以将错误信息重定向到文件中,在上述命令后面添加 2> err.log,也可以通过 2>nul 直接禁止警告信 息. 其中关于 BUILD,SHARED,MONOLITHIC 以及 UNICODE 选项的解释,请仔细参考文章后面关于 wxWidgets 的构建参数的解释,这些参数十分关键,他们直接定义了你所使用的基本的 wxWidgets 开发环 境.你必须严格按照你的编译参数设置 Code::Blocks 的配置向导.

在 Code::Blocks 中创建 wxWidgets 项目
在 Code::Blocks 的起始页面中,选择"Create a new project",也可以在 File 菜单中,选择"New" -> "Project…".

找到并选择"wxWidgets project",并创建,接下来会出现一个向导帮助进行 wxWidgets 项目的配置:



第一个页面是简介,可以选择以后跳过. 选择你要使用的 wxWidgets 版本.如果你是按照本文的过程配置的,那么你应该选择"wxWidgets 2.8.x". 设置你的项目的名字的位置. 输入作者的信息(非必要) 选择自动代码和文件生成的选项. 选择 wxWidgets 的位置.强烈建议在此使用全局变量:输入"$(#wx)"(不包含引号).如果你还没定义这 个全局变量,那么全局变量对话框会出现,在 Base Path 中,选择你的 wxWidgets 安装路径.其他路径 可以不用填.



为你的项目选择 debug/release 配置.推荐至少选择 debug 配置. 选择你的 wxWidgets 构建选项.必须和你构建 wxWidgets 时所使用的选项一致!如果你按照本文之前的 方式构建的,应该将"wxWidgets Library Settings"下的全部三个选项选中.如果用的是 wxPack,由于 wxPack 包含了各种不同的版本,所以你只需要选择你需要的选项.这个页面的另一个设置和 wxWidgets 的构建选项没有关系,你可以按照喜好来选择.如果,出于某种原因,你想使用调试版本的 wxWidgets 构建,选择"Configure Advanced options"然后在下一页选择"Use __WXDEBUG__ and Debug wxWidgets lib".



如果需要,选择额外的库.一般应用的话应该无须选择其中任何一个.

构建并运行程序
接下来,就可以选择"Build and run"(F9)对程序进行构建并运行了.如果顺利,你的 wxWidgets 应用程 序就会出现.如果出现了什么问题,你可以参考后面的常见问题.

wxWidgets 编译选项简介
BUILD

BUILD 控制 wxWidgets 构建调试版本(BUILD=debug)或者是发布版本(BUILD=release).绝大多数 情况下你只需要 wxWidgets 的发布版本就可以了,因为你应该不想要去调试 wxWidgets 自身,同时你依 然可以通过链接 wxWidgets 的发布版本来构建你自己的程序的调试版本.



调试构建 wxWidgets 会创建带有"d"后缀的库,例如"libwxmsw28d.a","wxmsw28d_gcc_custom.dll". 调试 调试构建 wxWidgets 会在 wxWidgets 库的输出目录中创建"mswd" 或者 "mswud" 目录. 调试 发布构建 wxWidgets 创建的库没有"d"后缀,例如"libwxmsw28.a","wxmsw28_gcc_custom.dll". 发布 发布构建 wxWidgets 会在 wxWidgets 库的输出目录中创建"msw" 或者 "mswu" 目录. 发布

SHARED
SHARED 控制 wxWidgets 是构建 DLL(SHARED=1)还是静态库(SHARED=0).利用构建的 DLL,主 程序构建时间较快,可执行文件更小.但是可执行文件加上 wxWidgets DLL 的总大小更大,但是不同的可 执行文件可以使用同一个 DLL.



wxWidgets 的 DLL 构建会创建导入库 (如 libwxmsw28.a) 以及 DLL 文件 (如 wxmsw28_gcc_custom.dll) . 你必须在发布你的程序的时候包含这个 DLL. wxWidgets 的静态 静态构建只会创建静态库 (如 libwxmsw28.a) 发布的时候也无须包含 wxWidgets 的 DLL. , 静态

MONOLITHIC
MONOLITHIC 控制是构建一个单一的库(MONOLITHIC=1)还是多个组件库(MONOLITHIC=0).使用 单一构建,项目的设置和开发会更加简单,如果你同时使用 DLL 构建的话,你只需要分发一个 DLL 文件. 如果使用非单一构建(multilib),会构建出多个不同的库同时你可以避免将整个 wxWidgets 的基本代码链 接到主程序,就可以去掉不需要的库.同时你也必须确保你选择了正确的组件库.



wxWidgets 的单一 单一构建仅会创建一个 wxWidgets 导入库(如 libwxmsw28.a)以及一个 DLL(如 单一 wxmsw28_gcc_custom.dll). wxWidgets 的多库 多库(multilib)构建会创建多个导入库(libwx28_base.a 等)以及多个 DLL 文件. 多库 无论何种 wxWidgets 构建,都会创建额外的静态 静态库(如 libwxexpat.a,libwxjpeg.a 等).这些库对于 静态 wxWidgets 的 DLL 构建一般是不需要的,但是当使用静态构建的时候,则是必须的.

UNICODE
UNICODE 控制 wxWidgets 以及你的程序是否使用支持 Unicode 的宽字符串. 大多数 Windows 2000 或更 高系统上的应用程序都应该支持 Unicode.早期的 Windows 版本不一定有 Unicode 支持.你应该总是使 用 wxWidgets 的_("string")和_T("string")宏来确保硬编码的字符串编译时是正确的类型.



wxWidgets 的 Unicode(UNICODE=1)构建将会创建带有"u"后缀的库,例 如"libwxmsw28u.a","wxmsw28u_gcc_custom.dll". wxWidgets 的 Unicode 构建会在 wxWidgets 库的输出目录中创建"mswu"或"mswud"目录. wxWidgets 的 ANSI(UNICODE=0)构建创建的库没有"u"后缀,例 如"libwxmsw28.a","wxmsw28_gcc_custom.dll". wxWidgets 的 ANSI 构建会在 wxWidgets 库的输出目录中创建"msw"或"mswd"目录.

常见问题
出现类似于"wx/setup.h: No such file or directory"的错误 出现类似于 的错误
你在构建选项中缺少了很重要的编译器搜索路径.首先确认你是否在运行 wxWidgets 项目向导的时候正确 选择了 wxWidgets 的构建配置.如果重新运行向导并配置依然无效,那么打开你的项目的构建选项并给编 译起的搜索路径中添加"$(#wx.lib)\gcc_dll\mswu"(这里假设是一个单一的 Unicode DLL 构建).

出现类似于"cannot find -lwxmsw28u"的错误 出现类似于 的错误
构建选项中的链接库错了.首先确认你是否在运行 wxWidgets 项目向导的时候正确选择了 wxWidgets 的 构建配置.如果重新运行向导并配置依然无效,确定你构建了什么库,并相应在构建选项中调整库的名字.

相关文章:
在windows下codeblocks添加对pthread的支持
windowscodeblocks添加对pthread的支持_计算机软件及应用_IT/计算机_专业资料...一、 安装平台 Windows7 32 位系统,Code::Blocks13.12 32 位 mingw 版 ...
windows程序设计codeblocks简易计算器
windows程序设计codeblocks简易计算器_计算机软件及应用_IT/计算机_专业资料。...(HMENU) 9, hInstance, NULL) ;//上面 3 个是输入框 = CreateWindow ( ...
codeblocks更改配置。
codeblocks配置文件是 default.conf, 在 Windows 系统下,该文件在 C:\Documents and Settings\Administrator\Application Data\CodeBlocks; C:\Users\用户名\App...
Codeblocks配置文件
Codeblocks配置文件_计算机软件及应用_IT/计算机_专业资料。Codeblocks编辑器配置(...[CDATA[WindowsXPLookNFeel]]> </str> </DOMAIN61> <ENABLE bool="1" />...
Code Blocks安装及配置EGE图形库教程
Code Blocks 安装配置 EGE 图形库教程前言: 本文介绍使用 Code::Blocks 作为...(Easy Graphics Engine) ,是 windows 下的简易绘图库,是 一个类似 BGI(...
CodeBlocks的安装使用
CodeBlocks安装使用_计算机软件及应用_IT/计算机_专业资料。CodeBlocks安装使用关豪亮 2015.10.12. 以下的操作在本人的笔记本电脑上进行,以 Windows 8.1 ...
C++集成设计环境:CodeBlocks 安装
另外,本文仅讲解如何在 windows安装。 3.安装正式发行版 Code::Blocks 的第一个正式发行版 8.02 (2008 年 2 月发行) 是必须的。升级包必须在发行版安装...
windows下配置安装wxWidgets
windows配置安装wxWidgets_计算机软件及应用_IT/计算机_专业资料。CodeBlocks+wxWidgets 之前也安装CodeBlocks,只是当时没有安装 wxWidgets,试着新建一个 wxWidgets...
codeblocks安装和使用
. 一、下载安装包: 如果您有安装以前版本,并不需要卸载。 Windows 安装下载页面: 请点击图中所示的链接: http://www.codeblocks.org/downloads/26 点击进入下载...
Codeblocks配置
Codeblocks 下载地址:http://www.codeblocks.org/downloads/26 选这个下载: 在...CodeBlocks编写程序 62页 1下载券 Windows上配置CodeBlock... 5页 免费 ...
更多相关标签: