登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
签到
每天签到奖励2-10圆
导读
排行榜
TG频道
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
VIP申请
VIP网盘
网盘
联系我们
发帖说明
每日签到
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
业界
›
使用wxWidgets进行跨平台GUI开发(附1)
使用wxWidgets进行跨平台GUI开发(附1)
[ 复制链接 ]
溜椎干
2025-6-14 14:49:34
补充说明wxWidgets在Windows下使用CMake的配置
wxWidgets官方提供了一个在Windows下使用CMake来构建wxWidgets库的方法,这样便于你自己用CMake构建项目。可参考源码包含的文档,这在下列这样的路径里:
..\wxWidgets-3.x.x\docs\doxygen\overviews\cmake.md
..\wxWidgets-3.x.x\samples\minimal\CMakeLists.txt
构建并生成CMake配置
打开下载的wxWidgets-3.x.x这样的一个文件夹,里面会有个CMakeLists.txt文件,在此路径进入cmd
输入命令(需要先配置好环境变量,我们指定安装路径,编译为静态库,创建out作为构建目录)
cmake -DCMAKE_INSTALL_PREFIX=%WXWIN% -DwxBUILD_SHARED=OFF -B build/cmake/out
然后回车,我们就能构建好默认的64位程序架构配置(系统相关),然后输入编译生成命令(你也可以从sln在Microsoft Visual Studio 2010或更高版本的集成开发环境(IDE)来构建使用wxWidgets的项目,这样其实更推荐在build\msw目录下直接集成编译。如果你先前编译过wxWidgets库,记得备份lib这个文件夹)
cmake --build ./build/cmake/out --target install
这会默认编译好Debug版本,建议先用例程测试验证Debug版本,然后输入
cmake --build ./build/cmake/out --target install --config Release
编译安装Release版
现在构建32位的wxWidgets库,输入以下命令
cmake -A Win32 -DCMAKE_INSTALL_PREFIX=%WXWIN% -DwxBUILD_SHARED=OFF -B build/cmake/out
然后一样的编译生成步骤
请不要忘了生成的CMake配置文件,它们存在于安装目录的lib\cmake、lib\vc_lib和lib\vc_x64_lib都有的mswu和mswud文件夹里,我们可以把这些配置迁移到相同编译工具链生成的wxWidgets库中(如MSVC)
现在说明最小验证程序,找到官方提供的最小示例程序,在这样的路径
..\wxWidgets-3.x.x\samples\minimal
还是使用cmd编译
cmake -B build -DCMAKE_PREFIX_PATH=%WXWIN%/lib/cmake/wxWidgets
(提示,你可以自定以设置添加环境变量如WXWINCMAKE其值填写为%WXWIN%/lib/cmake/wxWidgets,这样你就可以更简洁设置变量-DCMAKE_PREFIX_PATH=%WXWINCMAKE%)
cmake --build ./build
复制代码
这样会在此build\Debug下生成一个minimal.exe可执行程序,运行效果如图
总结
使用此构建方法可以直接生成一些繁琐的CMake配置,简化了CMake构建项目的工作。
可以参考minimal的CMakeLists.txt文件,find_package命令使用如下
find_package(wxWidgets 3.2 COMPONENTS core base REQUIRED CONFIG)
如果是直接集成编译的库,CMake是不能成功构建minimal的,因为CONFIG指示CMake只查找Config模式的配置文件。没有安装上述方式的配置,只能使用
find_package(wxWidgets 3.2.4 REQUIRED COMPONENTS core base adv html xml net aui stc xrc gl media qa richtext propgrid ribbon webview)
这看起来就复杂不少,因为缺乏预先的配置,所以如果你使用CMake构建项目,我建议你使用上述方式的配置。
提示:你可以查看lib\cmake\wxWidgets\wxWidgetsConfig.cmake文件,中间有这样一个命令
foreach(libname wxbase;wxnet;wxcore;wxadv;wxaui;wxhtml;wxpropgrid;wxribbon;wxrichtext;wxwebview;wxstc;wxxrc;wxmedia;wxgl;wxqa;wxxml)
看起来是不是很眼熟!有了这个我们就不用重复配置这些组件。
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
使用
wxWidgets
进行
跨平台
GUI
相关帖子
使用TCL脚本快速创建Quartus工程
使用EB tresos对配置can、icu
C# 使用 using 关键字间接实现只读局部变量的方法
使用Scalar.AspNetCore来管理你的OpenApi
WPF/C#:使用Microsoft Agent Framework框架创建一个带有审批功能的终端Agent
FFmpeg开发笔记(八十四)使用国产的librestreaming实现RTMP直播
使用PySide6/PyQt6实现自定义窗口布局,实现类似FluentWindow效果
使用 Github Pages 和 Hexo 搭建博客
SpringBoot使用TraceId日志链路追踪
阿里云智能语音简单使用:语音识别
vip免费申请,1年只需15美金$
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
安全
使用TCL脚本快速创建Quartus工程
0
740
楞粳
2025-10-15
安全
使用EB tresos对配置can、icu
0
648
胥望雅
2025-10-16
安全
C# 使用 using 关键字间接实现只读局部变量的方法
0
286
东门芳洲
2025-10-17
业界
使用Scalar.AspNetCore来管理你的OpenApi
0
368
揿纰潦
2025-10-17
业界
WPF/C#:使用Microsoft Agent Framework框架创建一个带有审批功能的终端Agent
0
993
谅潭好
2025-10-18
业界
FFmpeg开发笔记(八十四)使用国产的librestreaming实现RTMP直播
0
583
讹过畔
2025-10-19
业界
使用PySide6/PyQt6实现自定义窗口布局,实现类似FluentWindow效果
0
408
吉芷雁
2025-10-19
业界
使用 Github Pages 和 Hexo 搭建博客
0
87
荡俊屯
2025-10-20
业界
SpringBoot使用TraceId日志链路追踪
0
582
骆熙华
2025-10-20
业界
阿里云智能语音简单使用:语音识别
1
311
即息极
2025-10-20
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
签约作者
程序园优秀签约作者
发帖
溜椎干
2025-6-14 14:49:34
关注
0
粉丝关注
18
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
anyue1937
9994893
dage888
999994
3934307807
992122
4
富账慕
9983
5
邹语彤
9982
6
二艰糖
10000
7
刎唇
9993
8
匝抽
9986
9
聚怪闩
9960
10
孙淼淼
9977
查看更多