flyonok

统计

留言簿(7)

ACE

book

boost

bsd

c study

c++

code download

codeblock

computer clound

Eclipse

embed system

erlang

ET++

gtk

ic card

java

KDE

libevent

linux

linux--MM

mysql

network education

one card

oracle

pcap relation

php

powerbuilder

python

QT

software config

software test

SQL server

UML

wireless

wxwidgets

陈宾

阅读排行榜

评论排行榜

wxWidgets & Code::Blocks Studio

近来无事想写一个小程序,又不想花太多时间在UI上;就想起了一直关注的wxWidgets(以前叫wxWindows,据说是因为微软施压才改的名)。选用他的理由有三:

   
1. 只会C。。。
   
2. 不想因为界面设计而花太多时间
   
3.
          
* wxWidgets已经有了像wxGlade这样的东东,画个简单的界面什么的足够了
   
4. 我的服务器已经都转换到了Linux;而桌面电脑随着时间的推移已经逐步的将常用的程序切换成了跨Windows/Linux的版本。所以学习一个跨平台的UI比较能够做到知识的保值
   
5. wxWidgets中的wxString类提供了统一的一个字符串操作界面。一些常用的文本处理函数不用再创建了;这个我喜欢
   
6. 开源、免费! 

下一步就是选择IDE

主要焦点在MinGW Developer Studio和Code::Blocks Studio这两个跨平台(都使用的是wxWidgets UI库)的免费软件之间:

   
1. MinGW Developer Studio使用感觉还不错。有预编译的wxWidgets库;入门方便(编译wxWidgets库遇到的问题多多,后面慢慢讲)
   
2. Code::Blocks Studio提供插件接口而且最重要的是更新快。这方面MinGW Developer Studio就差多了,活跃的开发团队是开源项目发展的关键! 

当然差别还有很多。我是菜菜鸟看得到的就这些。。。

安装Code::Blocks Studio

Code::Blocks Studio现在发布的是RC2(还没有正式版)。但RC2问题多多(我发现的就有对Unicode编译的支持问题);不过有Nightly Builds可以解决。我的解决步骤是:

   
1. 先下载并安装RC2整合MingW的版本,这样也就不用再去下载MingW(MingW下载包太多了,安装头痛)
   
2. 下载Nightly Builds(现在登陆C::B这个论坛要注册,前几天都还可以匿名的)中的
   
3.
         
1. Unicode wxWidget动态支持库(新版的C::B已经使用Unicodede发布)
         
2. C::B的Nightly Builds,我下的是2006/1/20号的rev1823
   
4. 将两个包中文文件解压覆盖到C:\Program Files\CodeBlocks 

安装wxWdigets

   
1. 我在wxWidgets官方下载页面上下载的wxMSW v2.6.2 的ZIP版
   
2. 解到D:\(安装完成后的路径为:D:\wxWidgets-2.6.2,之后的设置都用的是这个路径) 

编译wxWdigets(支持ODBC)

   
1. 首先编辑D:\wxWidgets-2.6.2\include\wx\msw\setup.h以便编译后的动/静态库文件支持ODBC(为了让编译出来的库支持ODBC,我至少编译了4次才找到原来还要在这儿修改。虽然wxWidgets的手册上写要修改setup.h不过没有具体说是那个目录下的。。。吐血)。修改内容如下:
   
2.
          
* 将文件中的#define wxUSE_ODBC 0修改为#define wxUSE_ODBC 1
   
3. 然后我在D:\wxWidgets-2.6.2\build\msw下创建了一个envset.bat文件来设置编译需要的环境参数。
   
4.
         
1. 内容如下

                
set PATH=%PATH%;C:\Program Files\CodeBlocks\bin;C:\Program Files\CodeBlocks\mingw32\bin;
                
set LIBRARY_PATH=C:\Program Files\CodeBlocks\lib
                
set C_INCLUDE_PATH=C:\Program Files\CodeBlocks\include
                
set CPLUS_INCLUDE_PATH=C:\Program Files\CodeBlocks\include;D:\wxWidgets-2.6.2\include;D:\wxWidgets-2.6.2\contrib\include;

                 

         
2. 其中C:\Program Files\CodeBlocks是我的C::B的安装路径
   
5. 同时修改D:\wxWidgets-2.6.2\build\msw\config.gcc
   
6.
          
* 将USE_ODBC = 0修改为USE_ODBC = 1
   
7. 进入DOS命令行
   
8. 切换工作路径至D:\wxWidgets-2.6.2\build\msw
   
9. 运行envset.net
  
10. 执行清理命令

          mingw32
-make -f makefile.gcc USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=debug UNICODE=1 clean

           

  
11.
          
* 其中
          
*
               
1. SHARED=1表示生成的动态链接库DLL,0就是静态链接库
               
2. MONOLITHIC=1表示生成单一的库文件,0表示生成多个按模块分割的库文件
               
3. BUILD=debug表示生成带Debug信息的版本方便调试,release是发布版
               
4. UNICODE=1表示使用unicode编码
  
12. 执行编译命令

          mingw32
-make -f makefile.gcc USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=debug UNICODE=1 VENDOR=cb

           

  
13. 看看电视,泡壶茶。编译的时间可不短;-

整合C::B和wxWidgets

   
1. 运行C::B。程序会提示你填写wxWidgets的安装目录
   
2.
          
* codeblock-wx-global-var-set.png
   
3. 然后使用新建向导创建一个Using UNICODE wxWidgets DLL的wxWidgets Appliction就可以开始了
   
4.
      codeblock
-wx-create-project.png


有点晚了,关于C::B中的wxWidgets项目配置方面的改天再写。。。
 

posted on 2008-03-11 11:25 flyonok 阅读(2224) 评论(0)  编辑 收藏 引用 所属分类: program


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理