wxWidget vs2010 环境配置
来源:互联网 发布:战略纵深 知乎 编辑:程序博客网 时间:2024/05/22 17:20
引言:
wxWidget的环境配置其实就是,将wxWidget的库头文件、静态库、动态库、引入你的工程、另外配置一些 wxWidget 特定的预处理宏定义。所以在你看到这个环境配置的时候不要想得太复杂,另外如果你配置完后,编译测试程序是如果出现错误,那么主要是如下两种情况导致:
1、特定的宏没有预定义, 你要看你自己使用了哪些特殊的库,来判断增加了。
2、使用的静态库或动态库没有引入,同上根据自己的使用情况去增加。
3、如果你编译通过了,但是运行提示 xxxx.dll 找不到,那就是由于 dll 文件没有放到 运行目录下(一般release 后 库文件是要和 .exe 在一起的), 当然如果你不想再编码的时候总是去移动的话,可以选择在工程属性 >> 配置属性 >> 调试 >> 工作目录 >> 设置你自己的存放 库文件(*.lib *.dll) 的路径。
正文: vs2010 配置最基本的 GUI 环境
1、wxWidget 下载,
1.1 可以到wxWidget 官网 http://www.wxwidgets.org/downloads/ 下载源码
1.2 sourceForge 下载现成的编译好的库 http://sourceforge.net/projects/wxwindows/files/2.9.4/binaries/ ,注意这里要下载 一个 头文件的包和一个库文件的包如:wxWidgets-2.9.4_Headers.7z+wxMSW-2.9.4_vc100_Dev.7z
2、vs2010 创建一个空工程,个人建议工程文件结构:
wxWidget
>>project //存放工程文件
>> lib //存放引用库文件,比如现在的 wxWidget ,我是将 wxWidgets-2.9.4_Headers.7z 包中的include 和wxMSW-2.9.4_vc100_Dev.7z >> vc100_dl 下的所有文件和 放在lib下。
>> src //你自己的头文件
>> out //工程的输出文件 如 .exe
3、配置工程
3.1 工程 >> 属性 >> 配置属性 >> 常规 >> 输出目录 >> 设置上面的 out 目录 ( 可选操作)
3.2 工程 >> 属性 >> 配置属性 >> c/c++ (如果没有这个选项,请先添加一个cpp文件就有了) >> 常规 >> 附加包含目录 >> 设置 wxWidget 的 头文件所在目录 (include目录)路径、wxWidget库文件所在目录下的 mswu / mswud (多个d代表debug)
如果你是在第二步中将 wxWidget 包按我的方式放的。就是 添加 1、 你的工程路径/wxWidget/lib/mswu 和 你的工程路径/wxWidget/lib/include
3.3 工程 >> 属性 >> 配置属性 >> c/c++ (如果没有这个选项,请先添加一个cpp文件就有了) >> 预处理器 >> 预处理定义 添加 _WINDOWS 和 WXUSINGDLL
3.4 工程 >> 属性 >> 配置属性 >> 连接器 >> 附加库目录 >> 增加 .dll 和 .lib 文件所在目录, 我是 你的工程路径/wxWidget/lib
3.5 工程 >> 属性 >> 配置属性 >> 连接器 >> 输入 >> 附加依赖项 >> 添加 wxmsw29ud_core.lib wxbase29ud.lib
3.6 工程 >> 属性 >> 配置属性 >> 连接器 >> 系统 >> 子系统 >> 窗口系统
4、测试代码:
// wxWidgets "Hello world" Program// For compilers that support precompilation, includes "wx/wx.h".#include <wx/wxprec.h>#ifndef WX_PRECOMP#include <wx/wx.h>#endifclass MyApp: public wxApp{public: virtual bool OnInit();};class MyFrame: public wxFrame{public: MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size);private: void OnHello(wxCommandEvent& event); void OnExit(wxCommandEvent& event); void OnAbout(wxCommandEvent& event); wxDECLARE_EVENT_TABLE();};enum{ ID_Hello = 1};wxBEGIN_EVENT_TABLE(MyFrame, wxFrame) EVT_MENU(ID_Hello, MyFrame::OnHello) EVT_MENU(wxID_EXIT, MyFrame::OnExit) EVT_MENU(wxID_ABOUT, MyFrame::OnAbout)wxEND_EVENT_TABLE()wxIMPLEMENT_APP(MyApp);bool MyApp::OnInit(){ MyFrame *frame = new MyFrame( "Hello World", wxPoint(50, 50), wxSize(450, 340) ); frame->Show( true ); return true;}MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size) : wxFrame(NULL, wxID_ANY, title, pos, size){ wxMenu *menuFile = new wxMenu; menuFile->Append(ID_Hello, "&Hello…\tCtrl-H", "Help string shown in status bar for this menu item"); menuFile->AppendSeparator(); menuFile->Append(wxID_EXIT); wxMenu *menuHelp = new wxMenu; menuHelp->Append(wxID_ABOUT); wxMenuBar *menuBar = new wxMenuBar; menuBar->Append( menuFile, "&File" ); menuBar->Append( menuHelp, "&Help" ); SetMenuBar( menuBar ); CreateStatusBar(); SetStatusText( "Welcome to wxWidgets!" );}void MyFrame::OnExit(wxCommandEvent& event){ Close( true );}void MyFrame::OnAbout(wxCommandEvent& event){ wxMessageBox( "This is a wxWidgets' Hello world sample", "About Hello World", wxOK | wxICON_INFORMATION );}void MyFrame::OnHello(wxCommandEvent& event){ wxLogMessage("Hello world from wxWidgets!");}编译运行 就可以看到一个含菜单,状态栏的 frame 了
- wxWidget vs2010 环境配置
- wxWidget Visual Studio 2008环境配置
- VS2005+wxWidget 配置
- ubuntu karmic wxwidget 配置
- VS2010+OpenCV环境配置
- vs2010 DX 环境配置
- Lua环境配置VS2010
- VS2010 配置 wxWidgets环境
- Vs2010配置html5环境
- OpenNI+VS2010环境配置
- VS2010+Python环境配置
- vs2010 DX 环境配置
- OpenMP VS2010 环境配置
- opencv+VS2010环境配置
- vs2010配置驱动环境
- VS2010 OPENGL环境配置
- VS2010配置汇编环境
- CGAL+VS2010环境配置
- poi----设置方格剧中位置
- 【转载】MySQL的常用命令和增删改查语句和数据类型
- jquery实例代码:链接调整平滑滚动效果
- jquery学习笔记----基础介绍
- 三大基本面向对象设计原则
- wxWidget vs2010 环境配置
- java接口类型的多态行为练习
- Dalvik 分析 - Class加载篇
- send函数与recv函数详解
- Hadoop 序列化对象(序列化和反序列化)
- linux 环境变量
- 题目1014:排名
- Java基础7--构造函数--this--static内存详解
- 数据拟合---使用自定义函数进行非线性拟合 -在Origin。matlab拟合工具箱cftool