wxWidgets

Code::Blocks环境

Code::Blocks下载:

Code::Blocks使用:

codeblocks-16.01mingw-setup.exe

它的gcc版本为4.9.2,也可在设置中对其进行更改

## wxMSW-3.1.0_gcc492下载: ##

Code::Blocks配置:

解压wxMSW-3.1.0_gcc492TDM_Dev.7z与wxWidgets-3.1.0-headers.7z到同一目录:X:\wxMSW-3.1.0_gcc492TDM

在环境变量里添加一个wxWidgets根目录环境变量,新增的用户变量命名为wxwin,值为X:\wxMSW-3.1.0_gcc492TDM

打开Code::Blocks,选择菜单Settings->Global Variables…,在设置default下新建立一个wx变量,在Build-in fields:下,base中填入“${wxwin}”(wxwin是刚才设置好的一个变量),include中填入“${wxwin}\include”,lib中填入“${wxwin}\lib”

新建项目:

建立项目

建立项目的过程

通过菜单“File”->“New”->“Project…”,选择“Empty project”建一个项目。

点击菜单File->New->File...为项目新建一个源程序文件,main.cpp:

#include <wx/wx.h>
class Simple : public wxFrame
{
public:
Simple(const wxString & title);
}; Simple::Simple(const wxString & title)
: wxFrame(NULL, wxID_ANY, title, wxDefaultPosition, wxSize(250, 150))
{
Centre();
} class MyApp : public wxApp
{
public:
virtual bool OnInit();
}; IMPLEMENT_APP(MyApp) bool MyApp::OnInit()
{
Simple * simple = new Simple(wxT("Simple"));
simple->Show(true);
return true;
}

选菜单Project->Build options...,在选项卡Search directories中,设置Compiler。通过“Add”增加目录X:\wxMSW-3.1.0_gcc492TDM\include和X:\wxMSW-3.1.0_gcc492TDM\lib\gcc_dll\mswud,最好include在上mswud在下。(debug版用mswud,release版用mswu)

选菜单Project->Build options...,在选项卡Linker settings中,需要加入要连接的“目标文件”。如图所示,通过Add按钮加入X:\wxMSW-3.1.0_gcc492TDM\lib\gcc_dll文件夹中的所有.a文件

此时编译即可通过。

利用Code::Blocks的向导建立

使用向导建一个“wxWidgets project”项目。

  • GUI设计工具和程序类型,用wxSmith和Dialog based。如果设置了“Code::Blocks配置”,wxWidgets'location直接填入“$(#wx)”就可以了,否则设置为X:\wxMSW-3.1.0_gcc492TDM目录。

  • wxWidgets Library Settings选择Enable unicode

  • 选择Configure Advanced Options

  • 选择Use _WXDEBUG_ and Debug wxWidgets lib

  • 选择GUI Mode Application

生成的程序源码:

wxTest3.1.0.rar

程序运行:

程序运行时需要一些dll,到wxMSW-3.1.0_gcc492TDM_ReleaseDLL.7z中寻找,放到程序目录即可启动。

VS2010环境

wxMSW-3.1.0_vc100下载:

项目

把wxMSW-3.1.0_vc100_Dev.7z与wxWidgets-3.1.0-headers.7z解压到 X:\wxMSW-3.1.0_vc100_Dev

新建win32项目 windows应用程序 空项目

附加包含目录

  • X:\wxMSW-3.1.0_vc100_Dev\include
  • X:\wxMSW-3.1.0_vc100_Dev\lib\vc_lib\mswud(debug)
  • X:\wxMSW-3.1.0_vc100_Dev\lib\vc_lib\mswu(release)

添加附加依赖项:

wxbase31ud_net.lib
wxmsw31ud_html.lib
wxbase31ud_xml.lib
wxmsw31ud_adv.lib
wxmsw31ud_aui.lib
wxmsw31ud_gl.lib
wxmsw31ud_media.lib
wxmsw31ud_propgrid.lib
wxmsw31ud_qa.lib
wxmsw31ud_ribbon.lib
wxmsw31ud_richtext.lib
wxmsw31ud_stc.lib
wxmsw31ud_xrc.lib
wxscintillad.lib
wxmsw31ud_core.lib
wxbase31ud.lib
wxtiffd.lib
wxjpegd.lib
wxpngd.lib
wxzlibd.lib
wxexpatd.lib
winmm.lib
comctl32.lib
rpcrt4.lib
wsock32.lib
odbc32.lib

头文件:

#include <wx/wx.h>
class wxMyApp:public wxApp
{
public:
virtual bool OnInit();
};
class wxMyFrame:public wxFrame
{
public:
wxMyFrame(const wxString& title);
};

源文件:

#include "头文件.h"
bool wxMyApp::OnInit()
{
wxMyFrame *pMyFrame=new wxMyFrame(_("myframe"));
pMyFrame->Show(TRUE);
return TRUE;
}
wxMyFrame::wxMyFrame(const wxString& title):wxFrame(NULL,NULL,title)
{ }
DECLARE_APP(wxMyApp);
IMPLEMENT_APP(wxMyApp);

参考:

wxWidgets的更多相关文章

  1. 基于libvlc和wxWidgets的简单播放器代码阅读

    源代码来自 http://git.videolan.org/?p=vlc.git;a=blob_plain;f=doc/libvlc/wx_player.cpp // g++ wx_player.cp ...

  2. [zhuan] linux 下 wxWidgets 安装,编译

      http://blog.csdn.net/yuzhenxiong0823/article/details/7727133 wxWidgets在Linux下有wxGTK和wxX11供使用,各需要GT ...

  3. [wxWidgets] 2. 重访“Hello World” 程序

    这是四年多来在博客园的第二篇博客.有了上一次的排版使用经验,这一篇文章应该有些进步(^_^). 闲话按下不表,言归正传.在编译.成功运行了上一个helloWorld.cpp(后文中'hw'简称hell ...

  4. [wxWidgets] 1. 安装及"hello world"程序

    关于wxWidgets的优越已经在它的官方网站有所阐述,本文不再赘述. 本系列主要记录学习这个软件包过程中遇到的问题以及心得. 1.  安装 从源码安装虽然大多时候不是一件轻松的过程,但是基于以下两个 ...

  5. wxWidgets编译安装gtk问题的解决办法

    下面是google到的一篇博文.我在centos5.3中想安装amule,结果编译时,提示没找到wxWidgets退出了.只好又去下了wxWidgets,还是源码,需要编译.编译中出现和下面这位网友一 ...

  6. VS2013搭建wxWidgets开发环境

    一.安装 前往官网下载最新wxWidgets 3.0.0. https://sourceforge.net/projects/wxwindows/files/3.0.0/wxMSW-3.0.0-Set ...

  7. 在 wxWidgets 的介绍中看到的一句话

    3. wxwidgets提供的gui是大量使用宏的,这就意味着它是在尽可能的使用目标系统native的gui样式. ——你可以访问wxwidgets网站,看看那些开发的软件的截图,全是系统native ...

  8. 在ubuntu上使用wxWidgets成功开发一个图形界面程序

    编译wxWidgets 下载最新版的源码,wxWidgets-3.0.2.wxWidgets在liunx是通过wxGTK实现的.wxGTK和wxWidgets的源码打包在一起.wxGTK依赖GTK+, ...

  9. MinGW编译wxWidgets中的问题及解决方法

    其实网上wxWidgets编译相关的博文,都没写到关键点上,泛泛而谈——就写了执行几个命令,就万事大吉了! 维基百科上的这个页面讲解了编译中可能遇到的各种问题及解决办法.比较懒,不想翻译.wxWidg ...

随机推荐

  1. 香蕉云APP,2016下半年开发日记

    2016-6-17  数据库设计不应该过多依赖范式,适度的冗余可以加快搜索速度,在服务器的配置还可以的情况下,可以采用冗余来解决查找慢的问题.还一个是要选择好数据库引擎,例如 InnoDB 和 myi ...

  2. 步入angularjs directive(指令)--点击按钮加入loading状态

    今天我终于鼓起勇气写自己的博客了,激动与害怕并存,希望大家能多多批评指导,如果能够帮助大家,也希望大家点个赞!! 用angularjs 工作也有段时间了,总体感觉最有挑战性的还是指令,因为没有指令的a ...

  3. XSS分析及预防

    XSS(Cross Site Scripting),又称跨站脚本,XSS的重点不在于跨站点,而是在于脚本的执行.在WEB前端应用日益发展的今天,XSS漏洞尤其容易被开发人员忽视,最终可能造成对个人信息 ...

  4. CSharpGL(33)使用uniform块来优化对uniform变量的读写

    CSharpGL(33)使用uniform块来优化对uniform变量的读写 +BIT祝威+悄悄在此留下版了个权的信息说: Uniform块 如果shader程序变得比较复杂,那么其中用到的unifo ...

  5. nginx服务器安装及配置文件详解

    nginx在工作中已经有好几个环境在使用了,每次都是重新去网上扒博客,各种编译配置,今天自己也整理一份安装文档和nginx.conf配置选项的说明,留作以后参考.像负载均衡配置(包括健康检查).缓存( ...

  6. Dropzone.js实现文件拖拽上传

    dropzone.js是一个开源的JavaScript库,提供 AJAX 异步文件上传功能,支持拖拽文件.支持最大文件大小.支持设置文件类型.支持预览上传结果,不依赖jQuery库. 使用Dropzo ...

  7. 解决使用IE8打开ADFS 3.0登录页面

    系统上线前一天,发现客户竟然有XP系统和2003系统,这些系统都不能访问外网.测试时,客户端是IE8,打开我们系统ADFS的登录页面,一直在Loading,无法打开,也不报错.后来通过fiddler跟 ...

  8. Android开发学习——画横线竖线

    画横线/竖线 竖线 <View android:layout_width="1dp" android:layout_height="match_parent&quo ...

  9. 烂泥:数据库管理之phpmyadmin免密码配置

    本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb 其实这篇文章很早就想写了,但是一直没有时间.刚好今天下午稍微空了点,就把这篇文章整理出来 ...

  10. Linux下用netstat查看网络状态、端口状态(转)

    转:http://blog.csdn.net/guodongdongnumber1/article/details/11383019 在linux一般使用netstat 来查看系统端口使用情况步.  ...