您的位置:首页 > 其它

在VS2012中使用wxWidgets 2.9.5

2014-04-07 13:13 176 查看
VS2012中集成wxWidgets。

1-下载wxWidgets 2.9.5

下载地址
http://sourceforge.net/projects/wxwindows/files/?source=navbar
 wxWidgets安装目录会生成include (include头文件),src(源代码文件),lib(被编译的库文件),docs(文档),samples,build等目录。

2.设置环境变量,将wx的安装目录添加到环境变量中

                变量名:WIDGETS

                变量值:D:\wxWidgets-2.9.5\

 或

                            变量名为“wxWidgets”

                变量值:D:\wxWidgets-2.9.5\

3-编译

 直接用VS2012工程编译

  wxWidgets安装目录下的\build\msw文件夹,里面有

 
D:\wxWidgets-2.9.5\build\msw\

1
wx.dsw
2
wx_dll.dsw
3
wx_vc7.sln
4
wx_vc8.sln
5
wx_vc9.sln


 

wx_vc10.sln

分别对D:\wxWidgets-2.9.5\build\msw\wx_dll.dsw  …… 和  wx_vc9.sln编译。

  注意:一定要使用unicode debug 编译

       编译成功后  在release编译

  会生成D:\wxWidgets-2.9.5\lib\vc_lib

 在此之前可以从配置管理器中选择Debug, Unicode Release, 或者DLL Unicode Debug。大多数开发者只需要build release和debug库,如果你需要用Unicode,需要build Unicode release 和Unicode debug 库。编译好的库文件会放在你的lib目录中,有两个目将被创建:vc_dll和vc_lib,分别对应共享库和静态库。

 

Building你自己的wxWidgets应用程序

在你用Visual Studio一步一步创建wxWidgets工程时,你应该知道有许多可用的第三方工具,可以帮助你在Visual Studio中建立工程文件,像DialogBlocks, wxHatch, wxWinWizard, 和wxVisualSetup。但如果你想要更细的控制你的工程或指定一些修改,你必须要了解一些个别设置。

微软Visual Studio让你能快速和容易的build wxWidgets工程,只要增加少数几个wxWidgets目录和文件到工程设置中。虽然在Visual Studio不同版本中准确位置会有所不同,但选项名字基本相同。

建立一个新Win32工程或解决方案。选择最少的可用项。

4- 包含目录:

 

我们右击项目,打开项目“属性”对话框:

或者在 项目属性->配置属性->C/C++->常规->附加包含目录 中添加:

假设这里将wxWidgets装在了D盘

1
D:\wxWidgets-2.9.5\include
2
D:\wxWidgets-2.9.5\lib\vc_lib\mswu
          D:\wxWidgets-2.9.4\lib\vc_lib\mswud
这个配置必须使编译器能够找到setup.h文件,这个文件用于指定如何build。

5.在 项目属性->配置属性->C/C++->预处理器->预处理器定义 中添加:
Debug:


WIN32

_DEBUG

__WXMSW__

_WINDOWS

NOPCH

__WXDEBUG__

Release:

 

WIN32

__WXMSW__

NDEBUG

_WINDOWS

NOPCH

如果你用的是debug版本去build你的工程,你就需要定义_DEBUG,__WXDEBUG_。

注意在一些Visual Studio版本中,除非你将一个C或C++源文件添加到工程中,否则不会显示C/C++选项。

 

 

6-静态编译:

在 项目属性->配置属性->C/C++->代码生成->运行库:多线程调试 DLL (/MDd)

 

在C/C++代码生成项(code generation)中找到运行时(run-time)库, 设置和选择Multithread DLL或者Multithread Debug DLL。如果你用单线程(single-thread)库或者non-DLL你将无法链接你的程序。如果你看到一堆Windows符号已经定义的链接错误,你可能是没有选择一个DLL运行时库。

 

7-在 项目属性->配置属性->MFC的使用: 使用标准 Windows 库

8.添加链接包含目录:

    在项目属性->配置属性->链接器->常规->附加库目录 中添加:

1

D:\wxWidgets-2.9.5\lib\vc_lib

9-添加连接文件

在
项目属性->配置属性->链接器->输入->附加依赖项 (additional dependencies)或对象模块(object modules),中添加:设置附加库链接到你的应用程序。
 
比如,dubug build,你需要最少链接wxmsw26d_core.lib和wxbase26d.lib。跟据你使用wxWidgets的情况你可能需要链接更多的库。wxbase26d_net.lib,wxbase26d_odbc.lib,wxexpartd.lib, wxjpegd.lib,wxmsw26d_adv.lib,wxmsw26d_xml,wxpngd.lib,wxmsw26_gl.lib,wxtiffd.lib,和wxzlibd.lib。
还需要链接Win32库,这依赖于你的build配置和你用到的东西。可能包含下面所有:kernel32.lib, user32.lib, gdi32.lib, winspool.lib, comdlg32.lib, advapi32.lib, shell32.lib, ole32.lib, oleaut32.lib, uuid.lib, odbc32.lib odbccp32.lib, winmm.lib, comctl32.lib,
rpcrt4.lib, 和wsock32.lib。
Visual Studio通常在创建工程时加入一些或所有的库。不是所有的库都总是需要;比如你没有用sockets,你就可以不链接wsock32.lib。
 
Release:
 
wxbase29u.lib  
wxbase29u_net.lib  
wxbase29u_xml.lib  
wxexpat.lib  
wxjpeg.lib  
wxmsw29u_adv.lib  
wxmsw29u_aui.lib  
wxmsw29u_core.lib  
wxmsw29u_gl.lib  
wxmsw29u_html.lib  
wxmsw29u_media.lib  
wxmsw29u_propgrid.lib  
wxmsw29u_qa.lib  
wxmsw29u_ribbon.lib  
wxmsw29u_richtext.lib  
wxmsw29u_stc.lib  
wxmsw29u_xrc.lib  
wxpng.lib  
wxregexu.lib  
wxscintilla.lib  
wxtiff.lib  
wxzlib.lib  
comctl32.lib  
rpcrt4.lib  
debug:
 
wxbase29ud_net.lib  
wxmsw29ud_html.lib  
wxbase29ud_xml.lib  
wxmsw29ud_adv.lib  
wxmsw29ud_aui.lib  
wxmsw29ud_gl.lib  
wxmsw29ud_media.lib  
wxmsw29ud_propgrid.lib  
wxmsw29ud_qa.lib  
wxmsw29ud_ribbon.lib  
wxmsw29ud_richtext.lib  
wxmsw29ud_stc.lib  
wxmsw29ud_xrc.lib  
wxscintillad.lib  
wxmsw29ud_core.lib  
wxbase29ud.lib  
wxtiffd.lib  
wxjpegd.lib  
wxpngd.lib  
wxzlibd.lib  
wxexpatd.lib  
winmm.lib  
comctl32.lib  
rpcrt4.lib  
wsock32.lib  
odbc32.lib

你现在可以增加源文件到工程中,并且可以build你的wxWidgets应用程序了。
 
在这里:
加入我们用到的wxWidgets库。在这里我们需要按照wxWidgets例子工程minimal的配置,加入
wxmsw29ud_core.lib
wxbase29ud.lib
wxtiffd.lib
wxjpegd.lib
wxpngd.lib
wxzlibd.lib
wxregexud.lib
wxexpatd.lib
winmm.lib
comctl32.lib
rpcrt4.lib
wsock32.lib
wininet.lib
 
这些库。在实际项目开发过程中,我们还可以根据需要随时进行导入的库的添加和修改。

在做完这样的设置之后,我们开始来进行测试。我们在这个工程的空CPP里加入以下代码:
 
#include"wx/wx.h"
void main()
{
                   wxPrintf("Hello world!");
                   int a;
                   wxScanf("%d",&a);
}
按F5运行,我们如果看到黑色命令提示环境窗口有Hello world!打印出来,说明已经配置成功了!!
 
附注
1. 要用DLL加上:WXUSINGDLL
2. X64平台需要把WIN32改成WIN64
 
 
(
DialogBlocks —— wxWidgets界面设计工具:

 

  http://hi.baidu.com/bellgrade/item/2042ba953ff1fcbf83d295d3  用这个工具可以很快的开发wxwidgets的软件界面。还有一个类似的软件是wxdev-cpp,不过还是这个简单易用一  点。这个工具要  注册才能使用,贴上两个注册码:
 name:l0calh0st
 key:21821013-1124DCC3-5878F918
 name: ttrar.com
 key:44467F4A-3E37F2F8-C81ED895
 优先考虑上面那个2006的,因为下面那个不能使用全部控件。                                        

 关于使用DialogBlocks的教程网上已经有很多了,可以参看http://www.cppblog.com/zyzx/archive/2009/03/12/76348.html
VS2012中新建空项目

  将DialogBlocks生成的.h文件和.cpp文件放到新建项目下。

  属性配置

)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  VS2012 wxWidgets 2.9.5