目录
准备
下载源码
下载地址:http://www.wxwidgets.org/downloads/
选择 Source Code > Windows 7z 下载
解压源码
解压 wxWidgets
编译源码
用 V S打开 wxWidgets-X.X.X\build\msw\wx_vc15.sln
分别选择Debug、DLL Debug、DLL Release、Release
然后点击 生成 > 生成解决方案
等待编译完成即可
样例
准备
新建一个空项目,建立 Main.cpp,复制官网上的例子
地址:https://docs.wxwidgets.org/trunk/overview_helloworld.html
// wxWidgets Hello World Program
// For compilers that support precompilation, includes wx/wx.h.
#include <wx/wxprec.h>
#ifndef WX_PRECOMP
#include <wx/wx.h>
#endif
class MyApp : public wxApp
{
public:
virtual bool OnInit();
};
class MyFrame : public wxFrame
{
public:
MyFrame();
private:
void OnHello(wxCommandEvent& event);
void OnExit(wxCommandEvent& event);
void OnAbout(wxCommandEvent& event);
};
enum
{
ID_Hello = 1
};
wxIMPLEMENT_APP(MyApp);
bool MyApp::OnInit()
{
MyFrame *frame = new MyFrame();
frame->Show(true);
return true;
}
MyFrame::MyFrame()
: wxFrame(NULL, wxID_ANY, Hello World)
{
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!);
Bind(wxEVT_MENU, &MyFrame::OnHello, this, ID_Hello);
Bind(wxEVT_MENU, &MyFrame::OnAbout, this, wxID_ABOUT);
Bind(wxEVT_MENU, &MyFrame::OnExit, this, wxID_EXIT);
}
void MyFrame::OnExit(wxCommandEvent& event)
{
Close(true);
}
void MyFrame::OnAbout(wxCommandEvent& event)
{
wxMessageBox(This is a wxWidgets Hello World example,
About Hello World, wxOK | wxICON_INFORMATION);
}
void MyFrame::OnHello(wxCommandEvent& event)
{
wxLogMessage(Hello world from wxWidgets!);
}
配置项目
打开项目属性 项目 > X 属性
配置 – 所有配置
C/C++ > 常规 > 附加包含目录 中添加 wxWidgets-X.X.X\include
C/C++ > 常规 > 附加包含目录 中添加 wxWidgets-X.X.X\demos\life
C/C++ > 预处理器 > 预处理器定义 中添加 WXUSINGDLL
链接器 > 常规 > 附加库目录 中添加 wxWidgets-X.X.X\lib\vc_dll
配置 – Release
C/C++ > 常规 > 附加包含目录 中添加 wxWidgets-X.X.X\lib\vc_dll\mswu
链接器 > 输入 > 添加依赖项 中添加 wxbase31u.lib
链接器 > 输入 > 添加依赖项 中添加 wxmsw31u_core.lib
配置 – Debug
C/C++ > 常规 > 附加包含目录 中添加 wxWidgets-X.X.X\lib\vc_dll\mswud
链接器 > 输入 > 添加依赖项 中添加 wxbase31ud.lib
链接器 > 输入 > 添加依赖项 中添加 wxmsw31ud_core.lib
放入动态链接库
在项目根目录 > Release 中放入 wxbaseXXXu_vc_custom.dll
在项目根目录 > Release 中放入 wxmswXXXu_core_vc_custom.dll
在项目根目录 > Debug 中放入 wxbaseXXXud_vc_custom.dll
在项目根目录 > Debug 中放入 wxmswXXXud_core_vc_custom.dll
以上文件在 wxWidgets-X.X.X\lib\vc_dll 中
运行程序
完工
关于X64
编译源码时把Win32改成X64
配置项目时 vc_dll 文件夹改为 vc_x64_dll
放入动态链接库时放入X64版本