Chinaunix首页 | 论坛 | 博客
  • 博客访问: 52834
  • 博文数量: 53
  • 博客积分: 752
  • 博客等级: 军士长
  • 技术积分: 450
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-17 11:46
文章分类

全部博文(53)

文章存档

2015年(1)

2014年(1)

2013年(11)

2012年(21)

2011年(19)

我的朋友

分类: C/C++

2012-01-13 10:16:10

 

  本文目的

 

  本文是一个简单的step by step 介绍,演示了在windows 下搭建wxWidgets 开发环境来代替Visual C++和MFC进行开发。

 

 

一 工具介绍

 

   Code::Blocks

 

   Code::Blocks 是一个C++ IDE ,支持各种操作系统平台(Windows/Linux/Mac OS X) 。当前最新版本为10.05 (截止2010-07-07) 。Code Blocks 本身即是使用wxWidgets 开发,对wxWidgets 有良好的支持。它支持调试、智能提示、资源编辑等IDE 常见功能,另外还有丰富的插件可供选择。

 

  Code::Blocks运行时截图如下:

 

 

  它的配置比较丰富,例如有丰富的代码编辑习惯可以配置,如折叠、代码块自动完成、符号搜索、代码格式,当然少不了的wxWidgets 配置。以下是其代码编辑配置项的配置界面:

 

 

  另外,还可以配置使用各种编译器进行编译调试,目前它的配置列表中支持以下编译器:

gcc

visual C++ 2003/2005/2008

borland c++

digital mars compiler

open watcom compiler

gcc for msp430

cygwin gcc

lcc compiler

intel c/c++ compiler

sdcc compiler

tiny c compiler

gdc d compiler

digital mars d compiler

arm gcc

avr gcc

gcc for powerPC

gcc for Tricore

 

 

 

   minGW 介绍

 

  MinGW ,即 Minimalist GNU For Windows 。它是一些头文件和库文件的集合,该集合允许人们在没有第三方动态链接库的情况下使用 GCC 产生 Windows32 程序。

  实际上 MinGW 并不只是一个 C/C++ 编译器,而是一套 GNU 工具集合。除开 GCC (GNU 编译器集合以外,MinGW 还包含有一些其他的 GNU 程序开发工具 ( 比如 gawk bison 等等) 。

  开发 MinGW 是为了那些不喜欢工作在 Linux(FreeBSD) 操作系统而留在 Windows 的人提供一套符合 GNU GNU 工作环境。

  所以,使用 MinGW 我们就可以像在 Linux 下一样使用 GNU 程序开发工具。

 

   wxWidgets 介绍

 

   wxWidgets 是由 Julian Smart  1992 年还在英国爱丁堡大学人工智能应用研究所开始的一个项目。 作为一个C++ GUI Library 从1992 发展到现在,已经在全球范围内产生了极大的影响力,利用这个类库进行GUI 开发的软件更是不计其数

   wxWidgets 是一个C++ 库,它支持Windows, OS X, Linux 和Unix 平台的32 位64 位软件的开发。同时也支持Windows Mobile, iPhone 和嵌入式GTK+ 图形环境。

  它同时也可以绑定其它语言,Python(wxPython), Perl(wxPerl), Ruby(wxRuby), Smalltalk(wxSmalltalk), Java(wx4j) 、甚至是JavaScript(wxjs) 等。

   wxWidgets 有两个很突出的特点。一,它是使用 native API 的开发库,这就是意味着,在 Windows 平台上创建的图形界面,如窗口、对话框等,具有 Windows 平台同样风格的可视界面,在 gnome 平台上,同样有gnome风格,因为它是调用该平台图形库本身的接口创建的(native方式)。二, wxWidgets 是参考 MFC 发展而来,编码风格与 MFC 非常类似,甚至变量名称都类似,对于 MFC 开发人员,移植到 wxWidgets 非常方便。

 

  以下是几张基于wxWidgets 开发的软件截图:

 

 

 

 

 

 

二 安装

 

   Code::Blocks 主页:

  选择集成 minGW  windows 安装版本。 10.05 版的 Code::Blocks 集成 minGW 安装版文件名为: codeblocks-10.05mingw-setup.exe ,文件大小: 74MB 。下载地址: 

 

 

   wxWidgets 主页:

   windows 安装版下载地址:

 

  安装过程建议选择默认设置。安装过程中注意两点:默认情况下Code::Blocks 安装文件会选择同时安装minGW ,不要改变这个选择;wxWidgets 的安装目录不要带上空格,典型的如不要装在"Program Files" 目录下。

 

三 使用 minGW 编译 wxWidgets

 

  安装后的wxWidgets 只有源代码,需要编译成库文件才能使用。

 

  编译wxWidgets 步骤如下:

   1 在系统 PATH 变量中添加 minGW  bin 路径,并重启。这样就可以在 cmd 窗口使用 mingw32-make.exe 工具。

   2 打开命令窗口 cmd ,进入 wxWidgets 安装目录下的 build/msw 子目录,执行命令:

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

 

   3 编译wxWidgets 会使用几十分钟的时间,视主机运行速度。编译后的中间文件和库文件会占用最高数G 的空间,所以硬盘上需要保留2-4G 空间。具体占用的空间大小会视编译的版本数量不同而不同。

 

   wxWidgets 编译时的命令中有一些设置可以选择,如下:

   SHARED=0   编译静态库

   SHARED=1   编译动态库

   MONOLITHIC=1    编译结果为一个库文件 ,否则编译结果会分为几个库文件,开发时根据工程需要选择使用的库文件。

   UNICODE=1      编译 UNICODE 版本

   BUILD=debug     编译 debug 版本

   BUILD=release     编译 release 版本

 

四 建立 hello world 工程

 

   1 创建新wxWidget 工程,菜单"file->new->project" 。

 

       选择创建"wxWidgets project"。

 

 

      使用的wxWidgets版本为2.8。

 

 

 

      在 "Project title:" 栏中填写工程名称"wxTest"。

 

 

       本页保持默认。

 

 

       选择使用 wxSmith 插件,建立 dialog 工程。

 

 

      在本页选择wxWidgets 的安装路径。

 

 

 

       "Compiler" 列表中选择 gcc 编译器 ( 默认即为 gcc) ,其它保持默认。如果之前编译wxWidgets没有成功,此时会提示找不到相应的wxWidgets库。当然选择不同的编译器的时候,这一步搜索的wxWidgetes目录也不同。所以如果需要使用其它的编译器,如Visual C++,那么之前就需要先用Visual C++编译好wxWidgets。wxWidgets不能混用,例如用Visual C++编译出来的wxWdigets库放在此处由gcc来链接。

 

 

 

        选择使用 wxWidgets DLL ,不选择 "wxWidgets is built as a monolithic library"( 如果之前编译的wxWidgets库是一个单独的库文件,这儿也可以选择该条)  

 

 

 

 

 

        2 检查编译器。

 

      点击菜单 "Settings->Compiler and debugger" ,在弹出的设置窗口中,左侧分类栏中选择 "Global compiler settings" ,右侧的 tab 页中选择 "Toolchain executables" ,并且检查 "Compiler's installation directory" 是否正确。也可以使用旁边的 "Auto-detect" 按钮。

 

 

 

        3 编译运行

      点击菜单 "Build->Build" ,编译如果没有错误, "Build log" 窗口会有如下输出:

 

 

      点击菜单 "Debug->Start" 运行程序。

        hello world 程序运行如下:

 

 

      四编译链接设置

 

      如果编译出错,点击菜单 "Project->Build options" ,在 "Linker setting" 中设置链接的库文件,或者在 "Search directories" 中设置头文件和库文件的搜索路径。

 

 

 

 

 

 

 

阅读(2389) | 评论(0) | 转发(0) |
0

上一篇:视频处理基础

下一篇:交叉编译 linux

给主人留下些什么吧!~~