注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

刘邓

每天收获一点点-目标:富足

 
 
 

日志

 
 

Windows下搭建wxWidgets开发环境详解  

2012-05-02 19:20:43|  分类: 技术类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

Windows环境下搭建wxWidgets开发环境

原文出自:http://lnlover.blog.163.com/ 转载最好能保留下~嘿嘿~

经过N久的尝试终于在Window下搭建起wxWidgets的开发环境,现将步骤和遇到的问题总结如下:

.既然看这篇文章,说明你对wxWidgets已经有了一定了解,具体什么是wxWidgetswxWidgets用来做什么的我这里就不一一诉说了。如果对wxWidgets没什么了解又有兴趣的朋友们可以查阅下面的三个个链接:官网:http://wxwidgets.org/ 百度百科:http://baike.baidu.com/view/1459540.htm 还有一个程序员前辈的简要分析:http://www.cnblogs.com/kbasm/archive/2011/05/04/why-choose-wxwidgets-over-qt.html#2321139

.废话不多说开始进入正题——在Windows下搭建wxWidgets环境。为什么么是Windows?我个人认为无论是Windows还是Linux,什么开发快捷用什么,尤其对于学生来说更是不要舍本逐末不断的换系统,搭建开发环境云云,静下心来好好学习,多写点代码。

扯远了,进入正题:

搭建wxWidgets开发环境的两个选择(我就试了2个)

1:直接下载wxDevCPP安装以后就可以用了,相当于在DevCPP中集成了wxWidgets。注:用wxDevCpp的一个缺点是调试器不好用,如果你能驾驭DevC++的调试器那么相信这款软件很适合你。

软件官网:http://wxdsgn.sourceforge.net/ 

2.VSVC++ Express)中搭建wxWidgets开发环境,这样搭建的好处是符合大家的使用习惯,调试器好用。

准备工作:

1.默认你有VC++(各个版本都可以,包括Epress版)

2.下载wxWidgets,你可以选择下载最新版本或者稳定版本,随个人喜好。

下载地址:http://www.wxwidgets.org/ 

下载完以后安装到任意目录下。(其实就相当于解压缩以下,下载的是源代码)

3因为下载的是源代码,则需要把源代码编译成库文件:

打开安装文件夹下的buildmsw文件夹从中找到你编译器对应的解决方案(VC6dswvc7wx_vc7.sln,vc2005wx_vc8.sln,vc2008wx_vc9.sln,VC2010打开wx_vc9.sln这里vc会自动转换)

4.开始编译。因为我们下载的是源文件,而要把转化为库文件(如果对库的概念不是很了解可以上网查查)就需要编译挣个解决方案,对于编译时间大家不用担心,非常的快!!!我编译23个项目大概花了2分钟左右吧(不过cpu使用率100%,风扇瞬间狂飙啊)

5.建立测试项目配置项目属性:

首先建立一个Win32空项目或者直接空项目都可以。

Windows下搭建wxWidgets开发环境详解 - 刘邓 - 刘邓
 

 

将下面的测试源代码源代码加入到一个cpp文件中。

#include "wx/wx.h"

class MyApp: public wxApp

{

    virtual bool OnInit();

};

class MyFrame: public wxFrame

{

public:

    MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size);

    void OnQuit(wxCommandEvent& event);

    void OnAbout(wxCommandEvent& event);

    DECLARE_EVENT_TABLE()

};

enum

{

    ID_Quit = 1,

    ID_About,

};

BEGIN_EVENT_TABLE(MyFrame, wxFrame)

    EVT_MENU(ID_Quit,  MyFrame::OnQuit)

    EVT_MENU(ID_About, MyFrame::OnAbout)

END_EVENT_TABLE()

bool MyApp::OnInit()

{

    MyFrame *frame = new MyFrame( _("Hello World"), wxPoint(50, 50), wxSize(450, 340) );

    frame->Show(true);

    SetTopWindow(frame);

    return true;

}

MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size)

       : wxFrame(NULL, -1, title, pos, size)

{

    wxMenu *menuFile = new wxMenu;

    menuFile->Append( ID_About, _("&About...") );

    menuFile->AppendSeparator();

    menuFile->Append( ID_Quit, _("E&xit") );

    wxMenuBar *menuBar = new wxMenuBar;

    menuBar->Append( menuFile, _("&File") );

    SetMenuBar( menuBar );

    CreateStatusBar();

    SetStatusText( _("Welcome to wxWidgets!") );

}

void MyFrame::OnQuit(wxCommandEvent& WXUNUSED(event))

{

    Close(true);

}

void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event))

{

    wxMessageBox( _("This is a wxWidgets Hello world sample"),

                  _("About Hello World"), 

                  wxOK | wxICON_INFORMATION, this );

}

IMPLEMENT_APP(MyApp)

现在编译这个文件显然是通不过的,下面要对编译选项进行配置

如果以前使用过其他的库,相信你应该知道库配置的基本步骤:

1.包含头文件:

在项目——属性——C/C++——附加包含目录下加入wxWidgets库的头文件(此头文件是安装文件夹里的include文件夹)

Windows下搭建wxWidgets开发环境详解 - 刘邓 - 刘邓
 

这样系统就能知道你引用的头文件来自哪里了

2.包含库文件目录:

让系统知道你即将使用的库文件来自哪里。

项目——属性——VC++目录——库目录在库目录里加入wxWidgets安装文件夹下的lib/vc_lib文件夹

Windows下搭建wxWidgets开发环境详解 - 刘邓 - 刘邓
 

3.使用库。

把项目要用到的lib附加到项目属性中

项目——属性——连接器——附加依赖库编辑这里要非常注意!!!

Windows下搭建wxWidgets开发环境详解 - 刘邓 - 刘邓
 
 

加入库名称:

wxmsw29ud_core.lib

wxbase29ud.lib

wxtiffd.lib

wxjpegd.lib

wxpngd.lib

wxzlibd.lib

wxregexud.lib

wxmsw29ud_adv.lib

wxmsw29ud_html.lib

wxmsw29ud_xrc.lib

wxbase29ud_net.lib

wxbase29ud_xml.lib

wxexpatd.lib

winmm.lib

comctl32.lib

rpcrt4.lib

wsock32.lib

实际要不了这么多库,我也不知道去掉哪个见谅。

wxmsw29ud_adv.lib

wxmsw29ud_html.lib

wxmsw29ud_xrc.lib

wxbase29ud_net.lib

wxbase29ud_xml.lib

注意这里29ud虽然我不知道什么意思,但是因为我下载的是2.9版本的,如果你下载的是2.6或者2.8版本的就把上面的29换成响应的26或者28

好了下面编译运行就出现了如下界面了:Windows下搭建wxWidgets开发环境详解 - 刘邓 - 刘邓

 

因为wxWidgets不支持图形界面拖动那种设计方式,必须通过绝对位置和相对位置来确定各个控件的布局,故很多前辈推荐使用wxFormBuilder 因为我也是新手,具体怎么使用还有待探索,如果您有这方面的教程还望不吝赐教(可以发到我邮箱 hfutld@yeah.net 感激不尽~

  评论这张
 
阅读(1865)| 评论(6)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017