`

Windows平台使用CodeBlocks和Wxwidgets搭建C++开发环境

C++ 
阅读更多

对于Code::Blocks和wxWidgets本文就不多做介绍了,每个程序员心中都有一杆秤,其显赫的名声早已对其做了最好的诠释。本文将重点放在环境的搭建上,下面切入正题。


一、安装前准备
1、下载Code::Blocks,官网地址:http://www.codeblocks.org/,下载纯Code::Blocks,不要自带编译器的,文件名为codeblocks-10.05-setup.exe。然后去论坛里下载最新的每日构建。
2、下载MinGW编译器,推荐下载TDM-GCC,官网地址为:http://tdm-gcc.tdragon.net/,推荐下载4.5.2版本的。
3、下载wxWidgets,官网地址为:http://www.wxwidgets.org/,推荐下载zip压缩包。


二、安装步骤
1、安装Code::Blocks,安装目录不要带中文和空格,例如:"C:\CodeBlocks"。
2、将下载的每日构建解压到目录"C:\CodeBlocks"下,至此,Code::Blocks变成了最新版本。
3、安装MinGW编译器到"C:\CodeBlocks\MinGW32"路径下。
4、解压wxWidgets到"C:\CodeBlocks\wxWidgets-2.9.2"路径下。
5、在DOS窗口下切换到路径"C:\CodeBlocks\wxWidgets-2.9.2\build\msw"下,执行如下命令:

mingw32-make -f makefile.gcc clean
mingw32-make -f makefile.gcc BUILD=debug SHARED=1 MONOLITHIC=1 UNICODE=1 2> err.log
mingw32-make -f makefile.gcc BUILD=debug SHARED=0 MONOLITHIC=1 UNICODE=1 2> err.log
mingw32-make -f makefile.gcc BUILD=release SHARED=1 MONOLITHIC=1 UNICODE=1 2> err.log
mingw32-make -f makefile.gcc BUILD=release SHARED=0 MONOLITHIC=1 UNICODE=1 2> err.log

 另外,如果用VC编译器,推荐使用如下命令:

nmake -f makefile.vc clean
nmake -f makefile.vc BUILD=debug SHARED=1 MONOLITHIC=1 UNICODE=1 2> err.log
nmake -f makefile.vc BUILD=debug SHARED=0 MONOLITHIC=1 UNICODE=1 2> err.log
nmake -f makefile.vc BUILD=release SHARED=1 MONOLITHIC=1 UNICODE=1 2> err.log
nmake -f makefile.vc BUILD=release SHARED=0 MONOLITHIC=1 UNICODE=1 2> err.log

 

三、配置环境
1、修改源文件保存编码,打开Setting->Editor->Other setting页面,编码使用WINDOWS-936,并设置成默认。
2、修改编译器对源文件解释编码格式和生成执行文件执行时候采用的编码格式,打开Setting->Compiler and debugger settings,选择"GUN GCC Compiler"编译器,然后Compiler settings->Other options,在里面填写:

-finput-charset=GBK
-fexec-charset=GBK

 

第一个参数表示编译的时候输入文件的编码解释格式,第二参数表示生成的执行文件执行的时候显示用的编码格式。

3、设置全局变量,打开Settings->Global Variable Editor,在"Current Variable"右侧点击"New",输入"wx",确定。base里选择"C:\CodeBlocks\wxWidgets-2.9.2"。

4、设置编译器与调试器,打开Setting->Compiler and debugger settings->Search directories,在Linker中输入"$(#wx)\lib\gcc_dll"和"$(#wx)\lib\gcc_lib",在Resoure compiler里输入"$(#wx)\src"。

 

四、wxWidgets编译选项简介
BUILD
BUILD控制wxWidgets构建调试版本(BUILD=debug)或者是发布版本(BUILD=release)。绝大多数情况下你只需要wxWidgets的发布版本就可以了,因为你应该不想要去调试wxWidgets自身,同时你依然可以通过链接wxWidgets的发布版本来构建你自己的程序的调试版本。
(1)调试构建wxWidgets会创建带有”d”后缀的库,例如”libwxmsw28d.a”、”wxmsw28d_gcc_custom.dll”。
(2)调试构建wxWidgets会在wxWidgets库的输出目录中创建”mswd” 或者 “mswud” 目录。
(3)发布构建wxWidgets创建的库没有”d”后缀,例如”libwxmsw28.a”、”wxmsw28_gcc_custom.dll”。
(4)发布构建wxWidgets会在wxWidgets库的输出目录中创建”msw” 或者 “mswu” 目录。
SHARED
SHARED控制wxWidgets是构建DLL(SHARED=1)还是静态库(SHARED=0)。利用构建的DLL,主程序构建时间较快,可执行文件更小。但是可执行文件加上wxWidgets DLL的总大小更大,但是不同的可执行文件可以使用同一个DLL。
(1)wxWidgets的DLL构建会创建导入库(如 libwxmsw28.a)以及DLL文件(如wxmsw28_gcc_custom.dll)。你必须在发布你的程序的时候包含这个DLL。
(2)wxWidgets的静态构建只会创建静态库(如 libwxmsw28.a),发布的时候也无须包含wxWidgets的DLL。
MONOLITHIC
MONOLITHIC控制是构建一个单一的库(MONOLITHIC=1)还是多个组件库(MONOLITHIC=0)。使用单一构建,项目的设置和开发会更加简单,如果你同时使用DLL构建的话,你只需要分发一个DLL文件。如果使用非单一构建(multilib),会构建出多个不同的库同时你可以避免将整个wxWidgets的基本代码链接到主程序,就可以去掉不需要的库。同时你也必须确保你选择了正确的组件库。
(1)wxWidgets的单一构建仅会创建一个wxWidgets导入库(如libwxmsw28.a)以及一个DLL(如wxmsw28_gcc_custom.dll)。
(2)wxWidgets的多库(multilib)构建会创建多个导入库(libwx28_base.a等)以及多个DLL文件。
(3)无论何种wxWidgets构建,都会创建额外的静态库(如libwxexpat.a、libwxjpeg.a等)。这些库对于wxWidgets的DLL构建一般是不需要的,但是当使用静态构建的时候,则是必须的。
UNICODE
UNICODE控制wxWidgets以及你的程序是否使用支持Unicode的宽字符串。大多数Windows 2000或更高系统上的应用程序都应该支持Unicode。早期的Windows版本不一定有Unicode支持。你应该总是使用wxWidgets的_("string")和_T("string")宏来确保硬编码的字符串编译时是正确的类型。
(1)wxWidgets的Unicode(UNICODE=1)构建将会创建带有”u”后缀的库,例如”libwxmsw28u.a”、”wxmsw28u_gcc_custom.dll”。
(2)wxWidgets的Unicode构建会在wxWidgets库的输出目录中创建”mswu”或”mswud”目录。
(3)wxWidgets的ANSI(UNICODE=0)构建创建的库没有”u”后缀,例如”libwxmsw28.a”、”wxmsw28_gcc_custom.dll”。
(4)wxWidgets的ANSI构建会在wxWidgets库的输出目录中创建”msw”或”mswd”目录。


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

分享到:
评论

相关推荐

    Windows上配置CodeBlocks + wxWidgets

    wxWidgets 是一个跨平台的 GUI 库,提供了丰富的 API 和控件,非常适合开发桌面应用程序。 在安装 MinGW/GCC 编译器之前,我们需要确保包含编译器可执行文件的目录(一般是 C:\MinGW\bin)在 Windows 的 PATH 环境...

    配置好的CodeBlocks20.03+wxWidgets3.14

    CodeBlocks是一款开源、免费...总之,CodeBlocks 20.03与wxWidgets 3.14的结合提供了一个强大的C++ GUI开发平台,适用于初学者和经验丰富的开发者。通过合理配置和熟练使用,你可以创建出功能丰富、跨平台的应用程序。

    CodeBlocks编译wxWidgets设置

    在Windows环境下,使用CodeBlocks编译wxWidgets程序可能较为复杂,尤其是在配置编译器和环境变量时。下面将详细介绍如何在CodeBlocks中正确设置以编译wxWidgets程序。 #### 配置全局变量 首先,打开CodeBlocks,...

    Codeblocks+wxWidgets安装及编译.doc

    Codeblocks+wxWidgets安装及编译

    运用MinGW和CodeBlocks在Windows上编译wxWidgets及使用

    在Windows环境下开发C++图形用户界面应用程序时,wxWidgets是一个强大的跨平台库,它允许开发者使用统一的API来编写代码,同时在多个操作系统上运行。本指南将详细介绍如何利用MinGW(Minimalist GNU for Windows)...

    CodeBlocks关于C、C++集成开发环境标准设置详解

    ### CodeBlocks关于C、C++集成开发环境标准设置详解 #### 一、CodeBlocks简介 Code::Blocks是一款功能强大的开源、跨平台C/C++集成开发环境(IDE)。它旨在满足用户的各种需求,具有高度可扩展性和完全可配置性的...

    CodeBlocks_wxWidgets_power.rar

    CodeBlocks是一款流行的开源集成开发环境(IDE),而wxWidgets是一个跨平台的C++库,用于构建GUI应用程序。在本项目中,“CodeBlocks_wxWidgets_power.rar”是一个包含使用CodeBlocks和wxWidgets3.0.4开发的电源管理...

    CodeBlocks的wxWidgets3.1工程脚本

    这个是一个外国人写的在CodeBlocks中建立的wxWidgets3.1工程的向导脚本,一放进去直接覆盖掉。

    学生信息管理系统,Ubuntu下Codeblocks+wxWidgets编程

    本项目采用Ubuntu操作系统,利用Codeblocks作为集成开发环境(IDE),并结合wxWidgets库进行图形用户界面(GUI)的开发。接下来,我们将深入探讨这个系统背后的编程知识和技能。 首先,Ubuntu是一个基于Linux的开源...

    CodeBlocks搭建Android开发调试环境

    本文将详细介绍使用CodeBlocks搭建Android开发调试环境的步骤,包括安装CodeBlocks、cygwin、toolchains、android-sdk和android-platform-tools,配置CodeBlocks编译器和调试器,以便实现Android应用程序的开发和...

    wxWidgets在codeblocks中的配置

    这表明文章的主要目的是指导开发者如何设置他们的开发环境,以便能够使用wxWidgets进行跨平台的GUI应用程序开发。 知识点详解: ### 1. wxWidgets简介 wxWidgets是一个强大的跨平台软件开发库,最初于1992年以...

    wxWidgets2.8.10和CodeBlocks8.02

    结合这两个组件,开发者可以使用CodeBlocks 8.02作为开发环境,利用wxWidgets 2.8.10库创建功能丰富的、跨平台的C++应用。首先,需要安装`codeblocks-8.02mingw-setup.exe`,然后在CodeBlocks中配置wxWidgets的路径...

    codeblocks配置wxwidgets3.0.0

    codeblocks的最新版本只配置支持wxwidgets3.0.0,解决在用codeblocks新建工程时,没有wxwidgets版本可选的问题,将wizard.script文件直接覆盖CB安装目录下的CodeBlocks\share\CodeBlocks\templates\wizard\wxwidgets...

    codeblocks_17.12.tar.xz+wxWidgets-3.0.4.tar.bz2源码.zip

    CodeBlocks是一款开源、免费的C/C++集成开发环境(IDE),尤其受到初学者和专业开发者的欢迎。这个压缩包包含了CodeBlocks 17.12版本的源代码以及wxWidgets 3.0.4库的源码。让我们深入探讨这两个组件及其在Linux环境...

    在Windows环境下CodeBlocks+GTK+3.0开发环境配置

    在Windows环境下配置CodeBlocks+GTK+3.0的开发环境是一项必要的任务,特别是对于那些希望在Windows上利用GTK+跨平台特性的开发者来说。GTK+是一个用于创建图形用户界面的开源工具包,最初设计用于Linux,但现在已经...

    搭建跨平台编程环境Code::Blocks+wxWidgets

    搭建跨平台编程环境,尤其是使用Code::Blocks与wxWidgets,是一项关键任务,因为这将允许开发者创建能够在多种操作系统上运行的应用程序。Code::Blocks是一款开源的、免费的集成开发环境(IDE),支持多种编译器,包括...

    codeblocks 编程好软件 c++ 各种

    CodeBlocks是一款开源、免费的C++集成开发环境(IDE),专为C++编程设计,尤其适合初学者和学生使用。它的界面简洁,功能强大,集成了编译器、调试器等开发工具,使得代码编写、编译和调试过程更为便捷。 1. **IDE...

    在CodeBlocks中用wxWidgets创建不规则窗口

    在CodeBlocks中使用wxWidgets创建不规则窗口是一个有趣的编程挑战,它涉及到图形用户界面(GUI)设计和自定义渲染技术。wxWidgets是一个跨平台的C++库,它提供了丰富的功能来构建桌面应用程序,包括创建不规则形状的...

    wxWidgets-3.0.4 mingw32-gcc codeblocks可用版本 自编译

    这个压缩包文件“wxWidgets-3.0.4 mingw32-gcc codeblocks可用版本 自编译”是为Windows平台设计的,特别是为那些使用MinGW32编译器和Code::Blocks集成开发环境(IDE)的开发者准备的。 wxWidgets库包含了丰富的...

    关于构建Windows平台下基于MinGW 的C-C++开发环境及其IDE—CodeBlocks配置的问题

    为了构建适合自己的C/C++开发环境,本文详细介绍了在Windows平台下基于MinGW和Code::Blocks集成开发环境(IDE)配置的步骤和方法。内容包括对MinGW的基本概念、Code::Blocks的使用以及C/C++编译链接的过程进行说明,...

Global site tag (gtag.js) - Google Analytics