CLion运行wxWidgets程序出现窗口及文字模糊问题如何解决?
解决方案
以下是按优先级排序的可落地修复方案:
1. 修正CMake中Info.plist的绑定配置
你手动添加的Info.plist没有被自动嵌入到最终生成的.app包中是高频原因,需要在CMakeLists.txt中显式指定配置:
- 首先确认你的Info.plist中高DPI配置写法正确:
<key>NSPrincipalClass</key> <string>NSApplication</string> <key>NSHighResolutionCapable</key> <true/> - 在
add_executable配置中添加MACOSX_BUNDLE参数,并指定plist路径:# 替换为你实际的项目名、源文件列表 add_executable(MyWxApp MACOSX_BUNDLE main.cpp Info.plist ) set_target_properties(MyWxApp PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist )
配置完成后清空CMake缓存重新构建项目。
2. 重新编译本地wxWidgets开启Retina支持
你本地编译的wxWidgets 3.1.5 debug版本默认可能未开启高DPI适配,重新编译时添加--enable-retina参数:
cd /Users/MyPC/Desktop/wxWidgets-3.1.5/build-cocoa-debug ../configure --enable-debug --enable-retina --with-cocoa make -j$(sysctl -n hw.ncpu)
编译完成后清空项目CMake缓存重新关联wxWidgets库即可。
3. 修改CLion运行配置读取.app包配置
Mac系统仅在运行.app包时会读取内置的Info.plist配置,CLion默认直接运行二进制可执行文件会跳过plist加载:
- 点击CLion右上角运行配置下拉框,选择「编辑配置」
- 找到对应项目的运行配置,将「可执行文件」路径从默认的
build/MyWxApp修改为build/MyWxApp.app/Contents/MacOS/MyWxApp - 勾选「作为包内进程启动」(部分版本CLion显示为
Launch in bundle) - 保存配置后重新运行程序即可。
你可以先手动在访达中打开生成的.app文件验证效果:如果直接打开清晰,仅CLion运行模糊,说明只需要执行方案3即可;如果直接打开也模糊,优先排查方案1和方案2。
内容的提问来源于stack exchange,提问作者Sintax
相关产品推荐
相关产品推荐

