尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

Visual Studio 2026 编译并配置wxWidgets GUI组件库

Visual Studio 2026 编译并配置wxWidgets GUI组件库 前言本人是C编程爱好者但不是职业程序员由于不长期做开发每次想写程序的时候都得重新配置系统并且之前配置的方法可能早已经忘了本次看到关于Visual Studio编译和配置wxWidgets的文章原作者用的非常详尽实用故进行参照原文件进行了改写把自己的理解和平时遇到的问题也进行了总结在此感谢原作者的无私奉献。参考链接1、https://zhuanlan.zhihu.com/p/53962679502、visual studio编译wxWidgets_visual studio 2022配置wxwidgets-CSDN博客选择wxWidget的原因wxWidgets 有什么优点其实就是基本调用其它系统的原生 GUI所以生成的程序包很小运行效率很高适合轻量级开发并且可以自由的商用开发使用不涉及到版权问题。由于Qt功能很全版权收紧这正是wxWidgets的优势所在。拥有像Qt那样的事件回调且使用C编写能满足常规项目的使用需求。编译环境操作系统windows10开发工具visual studio 2022代码版本wxWidgets-3.3.2源码下载源码下载地址为https://wxwidgets.org/downloads/打开页面后点击Windows ZIP即可下载。如果你的下载速度比较慢那就考虑翻一下墙或者在不同的时间段多试几次下载有时候下载速度还是可以的。编译源码解压文件下载后得到一个zip文件名为wxWidgets-3.3.2.zip,在电脑上解压后显示如下目录打开visual studio 2022工程进入目录wxWidgets-3.3.2\build\msw选择wx_vc17.sln打开工程。wx_vc18.slnx是vs2026的工程如果你安装的是vs2026可选择打开wx_vc18.slnx工程。打开visual studio 2022工程 进入目录wxWidgets-3.3.2\build\msw选择wx_vc17.sln打开工程。wx_vc18.slnx是vs2026的工程如果你安装的是vs2026可选择打开wx_vc18.slnx工程。选择编译内容打开工程后会显示如下页面点击菜单栏上的生成选择批生成为了简单操作在这直接点击全选然后点击生成。等到完成后正常情况下是下面这个样子有的平台的工具集没装编译会报错但是能编译出我们需要的就可以了。此处提醒一下因为新手看到这么多报错的信息直接就崩溃了认为编译出错了实际上由于上面编译时我们选择的是全部会有一些编译器没有安装但常用的编译器已经安装了不影响我们项目的进行如果想彻底解决报错两种办法1在“批生成”中一个个挑不要点击全选。2安装其编译器。你可以找开 Visual Stuido Install在里面找到相关的编译器安装即可。验证库新建Windows桌面应用程序现在我们新建一个桌面应用程序按照如下图操作选择Windows桌面应用程序然后点击下一步。输入项目名称然后点击创建。创建好项目后生成的文件如下对应的windows资源文件显示如下建wxWidgets框架项目由于我们要构建wxWidgets框架项目因此需要先删除新建项目时创建的这些文件避免造成干扰。在这里我们需要删除头文件、源文件以及资源文件三个目录。—在IDE种完成删除后页面显示如下现在我们还要在文件夹中彻底将这些文件删除删除后文件夹内容显示如下现在我们新建一个源文件用来编写wxWidgets框架代码输入源文件名称后点击添加以下是我在wxWidgets官方拷贝的一个简单demo可以直接拷贝内容到main.cpp中// Start of wxWidgets Hello World Program#include wx/wx.hclass MyApp : public wxApp{public:bool OnInit() override;};wxIMPLEMENT_APP(MyApp);class MyFrame : public wxFrame{public:MyFrame();private:void OnHello(wxCommandEvent event);void OnExit(wxCommandEvent event);void OnAbout(wxCommandEvent event);};enum{ID_Hello 1};bool MyApp::OnInit(){MyFrame* frame new MyFrame();frame-Show(true);return true;}MyFrame::MyFrame(): wxFrame(nullptr, 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!);}配置开发环境 注意我个人写代码一般都用日志大法debug因此我配置的属性都是Release版的如果你用的是Debug版的注意做区分。 打开属性页面如下图所示设置附加包含目录添加如下两个目录1.wxWidgets-3.3.2\include2.wxWidgets-3.3.2\include\msvc设置附加库目录添加如下目录1.wxWidgets-3.3.2\lib\vc_x64_lib检查链接器系统设置由于我们创建的是windows桌面应用因此链接器-系统-子系统应该选择的是窗口。点击“应用”-“确定”然后按Ctrl F5编译代码不出意外的话应用页面显示如下
返回列表