配置cdt下wxwidgets编程

本文介绍了如何在Eclipse CDT环境下配置wxWidgets,进行Windows应用程序开发。详细步骤包括下载和安装Eclipse、CDT、MinGW及GDB,编译wxWidgets以生成DLL,设置环境变量,创建并配置C++项目,以及解决调试问题。通过这些步骤,读者可以成功建立一个简单的wxWidgets Hello World程序。
摘要由CSDN通过智能技术生成
我的开发环境是eclipse3.3+cdt4.0+mingw3.4.2

先在www.eclipse.org上下载eclipse,然后通过更新来安装cdt4.0
然后到www.mingw.org下载mingw同时请下载gdb(如果找不到可以直接到sourceforge下载)用于调试
安装mingw后将mingw32-make.exe拷贝出来再改名为make.exe,然后剪切到原来的目录下,最后将这个路径加入到path路径中,保证系统能找到。

下面开始配置wxwidgets:
首先下载一个wxwidgets,现在最新版本的是2.8.4。然后编译wxwidgets
e:> cd wx2.8.4/build
e:/wx2.8.4/build> make SHARED=1 -fmakefile.gcc
其中SHARED=1是为了编译出dll来,将来作出来的程序就不会太大。如果不加这个选项,将来随便编译一个helloword就要20M。
大约一个小时以后可以编译完成,我们可以看到生成了一个库e:/wx2.8.4/lib/gcc_dll有二十几个a和dll文件,我们也将这个路径加入到path路径中

开发一个wxHello程序试一试
eclipse下新建c++ project  wxHello

第一个文件 wx_gch.h

#ifndef WX_GCH_H_
#define WX_GCH_H_

// basic wxWidgets headers
#include <wx/wxprec.h>

// for use xrc files
#include <wx/xrc/xmlres.h>

#ifdef __BORLANDC__
#pragma hdrstop
#endif

#ifndef WX_PRECOMP
#include <wx/wx.h>
#endif

#endif /*WX_GCH_H_*/


第二个文件 HelloWorldApp.h

#ifndef HELLOWORLDAPP_H_
#define HELLOWORLDAPP_H_

class HelloWorldApp : public wxApp
{
public:
    HelloWorldApp();
    virtual ~HelloWorldApp();
    virtual bool OnInit();
};
DECLARE_APP(HelloWorldApp)
#endif /*HELLOWORLDAPP_H_*/

第三个文件 HelloWorldApp.cpp

#include "wx_gch.h"

#include "HelloWorldApp.h"

IMPLEMENT_APP(HelloWorldApp)


HelloWorldApp::HelloWorldApp()
{
}

HelloWorldApp::~HelloWorldApp()
{
}

//wxMemoryDC dc;    //必须构造wxMemoryDC对象以保证能够调试
bool HelloWorldApp::OnInit()
{
   
    wxFrame *frame = new wxFrame((wxFrame*)NULL,-1,_T("Hello World"));   
    frame->CreateStatusBar();
    frame->SetStatusText(_T("Hello World"));
    frame->Show(true);
    this->SetTopWindow(frame);
    return true;
}

保存好后,开始编译预编译文件 wx_gch.h.gch

cd wxHello
g++ -mthreads -g3 -DHAVE_W32API_H -D__WXMSW__ -D__WXDEBUG__ -DWXUSINGDLL -DWX_PRECOMP -Ie:/wx2.8.4/include -Ie:/wx2.8.4/lib/gcc_dll/mswd wx_gch.h
这段命令生成了wx_gch.h.gch有50多M。
生成了这个文件以后在其他工程中都可以应用的。
预编译文件的作用是提高了其他依赖于wx_gch.h文件的文件的编译速度。

接着配置工程选项。
编译选现
首先是预处理选项HAVE_W32API_H      __WXMSW__    __WXDEBUG__    WXUSINGDLL  WX_PRECOMP
然后是头文件路径 e:/wx2.8.4/include     e:/wx2.8.4/lib/gcc_dll/mswd
调试级别 g3
其余杂项 -mthreads
连接选项
连接库 wxbase28d    wxmswd_core
库文件地址 e:/wx2.8.4/lib/gcc_dll
其余杂项 -mthreads,--subsystem,windows -mwindows


保存以后添加一个make target名字all 目标all
双击all,eclipse将会编译和连接wxHello
生成的wxHello大约60多k


如果需要调试就必须打开
//wxMemoryDC dc;    //必须构造wxMemoryDC对象以保证能够调试
这一行的注释。
至于为什么?我也想知道,这个只是我调试出来的结果。


欢迎大家批评指正我的不足之处。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值