VS2017与wxWidgets的开发环境配置(仅静态链接)

前言

wxWidgets官方Github上有预编译好的二进制包,但是下载下来实在不会配置,写了个HelloWorld程序报各种错误,想找文档看没想到大家都是自己编译着用,无奈只好自己编译一个。wxWidgets已经更新了很多次,现在编译配置的步骤已经变得十分简单,网上的很多教程都是一些老版本的配置方法,我也因此踩了很多坑。

下载源码

到官网下载稳定版即可,我能下载到的最新稳定版为wxWidgets-3.0.4。

编译源码

(1). 打开wxWidgets-3.0.4/build/msw/wx_vc12.sln,等待工程文件自动升级完成。
(2). 生成(Release|Win32)和(Debug|Win32)两个目标,我没有生成DLL,因为配置了半天没成功有了阴影。。。
(3). 编译完成后,我们以后的开发会用到 include 和 lib 两个文件夹。
(4). 新建一个VS项目,配置属性->常规 设为 Unicode ,编译wxWidgets的时候此项默认为Unicode,所以我们要使用相同的值
(5). 配置属性->VC++目录->包含目录 添加两个路径 /path/to/include 和 /path/to/include/msvc。
(6). 配置属性->VC++目录->库目录 添加一个路径 /path/to/lib/vc_lib ,如果编译的是64位程序,那就选择vc_x64_lib的文件夹。
(7). 配置过程就这三个步骤,下面就是运行测试

//MyProjectApp.h

#pragma once

class MyProjectApp :
    public wxApp
{
public:
    MyProjectApp();
    virtual ~MyProjectApp();
    virtual bool OnInit() override;
};


//MyProjectApp.cpp

#include <wx/wxprec.h>
#include "MyProjectApp.h"

#ifdef _DEBUG
#pragma comment(lib, "wxbase30ud.lib")
#else
#pragma comment(lib, "wxbase30u.lib")
#endif
MyProjectApp::MyProjectApp()
{
}

MyProjectApp::~MyProjectApp()
{
}

bool MyProjectApp::OnInit()
{
    wxFrame* mainFrame = new wxFrame(nullptr, wxID_ANY, L"MyProject");
    mainFrame->Show(true);
    return true;
}

wxIMPLEMENT_APP(MyProjectApp);

关于DLL方式,还是以后用到再写吧,参考文章里也写了DLL的配置方法,需要的同学可以看看。

参考

https://usingcpp.wordpress.com/2018/02/14/using-visual-studio-2017-to-build-wxwidgets/
https://usingcpp.wordpress.com/2018/02/15/creating-wxwidgets-programs-with-visual-studio-2017-part-1/

发表评论

电子邮件地址不会被公开。 必填项已用*标注