使用VSCODE进行wxWidgets开发环境搭建-创新互联

  初学C++,想要从头搭建用户界面,之前接触过QT开发,但是QT开发环境安装后占用空间比较大,而且新版QT已经是在线下载了,感觉没以前离线下载整个安装包方便。而且封装太多也不利于更深入学习C++。因此入手学习wxWidgets,因为又不想使用VISUAL STUDIO来开发(太过于笨重,也是本人过于挑剔),因此选择VSCODE安装C++环境来开发wxWidgets。花了几天时间来编译wxWidgets,总算把wxWidgets3.2.1编译出来,做出了第一个界面窗口。为了后续不至于忘记,同时给后来人一个参考,特记录关键过程如下:

创新互联建站成立与2013年,是专业互联网技术服务公司,拥有项目成都网站建设、网站制作网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元兰考做网站,已为上家服务,为兰考各地企业和个人服务,联系电话:18980820575

环境版本:VSCODE1.70.1、MINGW64-8.1、wxWidgets3.2.1、CMake3.23.0

 VSCODE上使用CMAK比较方便,安装插件也特别简单。网上教程比较多,这里就不介绍了。

1.编译wxWidgets3.2.1(此处命令借荐网文:https://blog.csdn.net/net990/article/details/123771290,在此感谢)

CMD进入D:\code\cproject\wxWidgets-3.2.1\build\msw 目录下,执行如下命令:

mingw32-make -j4 -f makefile.gcc CPPFLAGS=-std=c++11 SHARED=1 BUILD=debug UNICODE=1

mingw32-make -j4 -f makefile.gcc CPPFLAGS=-std=c++11 SHARED=1 BUILD=release UNICODE=1

mingw32-make -j4 -f makefile.gcc CPPFLAGS=-std=c++11 SHARED=0 BUILD=release UNICODE=1
本人执行的第二条命令,执行该步后,大约30分钟编译完成。

2.编译完成后,搭建VSCODE项目(此处略过,网上教程比较多)。这里主要把CMakeList.txt内容列出。

cmake_minimum_required(VERSION 3.0.0)

project(wxdemo VERSION 0.1.0)

include_directories(

  "D:\\code\\cproject\\wxWidgets-3.2.1\\include",

  "D:\\code\\cproject\\wxWidgets-3.2.1\\lib\\gcc_dll"

)

include_directories( "D:\\code\\cproject\\wxWidgets-3.2.1\\include")

include_directories( "D:\\code\\cproject\\wxWidgets-3.2.1\\lib\\gcc_dll\\mswu")

link_directories("D:\\code\\cproject\\wxWidgets-3.2.1\\lib\\gcc_dll")

include(CTest)

enable_testing()

add_executable(wxdemo wxdemo.cpp)

target_link_libraries(wxdemo wxbase32u)

target_link_libraries(wxdemo wxmsw32u_core)

set(CPACK_PROJECT_NAME ${PROJECT_NAME})

set(CPACK_PROJECT_VERSION ${PROJECT_VERSION})

include(CPack)

3.编译完成后,生成wxdemo可执行文件。

主文件(wxdemo.cpp)内容如下:

#include

//框架类wxFrame

class MyFrame : public wxFrame

{

public:

MyFrame(const wxString& title): wxFrame(NULL, wxID_ANY, title)

{

//添加状态栏

CreateStatusBar();

SetStatusText(wxT("Welcome to wxWidgets!"));

}

};

//应用程序类APP

class MyApp : public wxApp

{

public:

//Frame的实例化

virtual bool OnInit()

{

MyFrame * pframe = new MyFrame(wxT("Hello World"));

pframe->Show(true);

return true;

  }

};

//声明应用程序

IMPLEMENT_APP(MyApp)

执行结果:

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


本文名称:使用VSCODE进行wxWidgets开发环境搭建-创新互联
分享链接:http://azwzsj.com/article/hsogj.html