wxWidgets编译

  1. 安装wxWidgets3.04版本

非常简单,去wxWidgets.org下载3.04版本或者最新版本,安装完成,
修改环境变量,path到$(WXWIN)
在“开始”中找到”Visual Studio”->选择VS对应的x86本机工具命令提示符

以下是debug版本编译

nmake /f makefile.vc BUILD=debug

以下是release版本的编译

nmake /f makefile.vc BUILD=release
打开vs2015,打开工程,找到wxWidgets目录下的build\msw\wx_vc12.sln,项目生成,没有报错就万事大吉。

  1. 创建应用

    新建win32工程,选择“空项目”

打开属性设置。

  1. 常规保持默认。c++->常规->"附加目录“,添加:“(WXWIN)\include\msvc"

  2. c++->预处理器->预处理器定义,添加:wxUSE_GUI=1
    WIN32
    _DEBUG
    _CRT_SECURE_NO_DEPRECATE=1
    _CRT_NON_CONFORMING_SWPRINTFS=1
    _SCL_SECURE_NO_WARNINGS=1
    WXMSW
    _UNICODE
    _WINDOWS
    NOPCH
    dll 版本输入:
    WXUSINGDLL
    wxMSVC_VERSION_AUTO
    _CRT_SECURE_NO_WARNINGS

  3. _链接器->常规->附加库目录,添加:“$(WXWIN)\lib\vc_lib”

  4. _链接器->输入->附加依赖项, 添加:
    wxmsw30ud_gl.lib
    opengl32.lib
    glu32.lib
    wxmsw30ud_core.lib
    wxbase30ud.lib
    wxtiffd.lib
    wxjpegd.lib
    wxpngd.lib
    wxzlibd.lib
    wxregexud.lib
    wxexpatd.lib
    kernel32.lib
    user32.lib
    gdi32.lib
    comdlg32.lib
    winspool.lib
    winmm.lib
    shell32.lib
    comctl32.lib
    ole32.lib
    oleaut32.lib
    uuid.lib
    rpcrt4.lib
    advapi32.lib
    wsock32.lib
    wininet.lib
    ////////新版本3.1.x的:
    wxmsw31ud_gl.lib
    opengl32.lib
    glu32.lib
    wxmsw31ud_core.lib
    wxbase31ud.lib
    wxtiffd.lib
    wxjpegd.lib
    wxpngd.lib
    wxzlibd.lib
    wxregexud.lib
    wxexpatd.lib
    kernel32.lib
    user32.lib
    gdi32.lib
    comdlg32.lib
    winspool.lib
    winmm.lib
    shell32.lib
    comctl32.lib
    ole32.lib
    oleaut32.lib
    uuid.lib
    rpcrt4.lib
    advapi32.lib
    wsock32.lib
    wininet.lib

    //main.cpp
    #include 
    
    #include "MyApp.h"
    #include "MyFrame.h"
    
    // 核心代码只需一行
    wxIMPLEMENT_APP(MyApp);
    
    //MyFrame.h
    #ifndef MYFRAME_H
    #define MYFRAME_H
    
    #include 
    
    class MyFrame : public wxFrame
    {
    public:
      MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size);
    };
    
    #endif // MYFRAME_H
    
    //MyFrame.cpp
    #include "MyFrame.h"
    
    // 代码想当简短,只是调用基类构造函数
    MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size)
      : wxFrame(NULL, wxID_ANY, title, pos, size)
    {
    }
    
    //MyApp.h
    #ifndef MYAPP_H
    #define MYAPP_H
    
    #include 
    
    class MyApp : public wxApp
    {
    public:
      // 我们需要重新实现基类虚函数
      virtual bool OnInit();
    };
    
    #endif // MYAPP_H
    
    //MyApp.cpp
    
    #include "MyApp.h"
    #include "MyFrame.h"
    
    bool MyApp::OnInit()
    {
      // 实例化窗口框架类
      MyFrame *myFrame = new MyFrame("MyApp", wxDefaultPosition, wxDefaultSize);
      myFrame->Show();
      return true;
    }
    

你可能感兴趣的:(wxWidgets编译)