运行QT自动的windeploytqt后软件带弹窗问题cmake的优化方案

当使用CLion和MingW编译QT应用时,可能会遇到程序因缺少动态库无法打开的问题。通过qt5的windeployqt工具可以解决,但会导致CMD窗口弹出。为去除CMD窗口,可以在CMakeLists.txt中添加-mwindows标志,并在MSVC环境下调整linker设置。另外,为解决debug中文乱码,可以在main函数中设置locale和字符编码。
摘要由CSDN通过智能技术生成
mingw 编译器:
clion编译发布的QT软件,提示缺少动态库,导致程序打不开。
这时需要通过 qt5.X.X(MinGW X.X.X 64/32-bit) prompt提示窗,类似于CMD,进入软件所在目录运行windeploytqt XXX.exe。软件顺利打开,可是会同时打开一个CMD弹窗。

去除弹窗:
在CMakeLists.txt中增加:
set(CMAKE_CXX_FLAGS "-mwindows")

add_executable(${PROJECT_NAME} WIN32 ...)

要把“WIN32”加上。

我们用的比较多的是MSVC编译器:

#pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"" )

在main 函数加上上面这句。

一行代码解决debug中文乱码:

    setlocale(LC_ALL, "en_US.UTF-8");
    system("CHCP 65001");

也是在main()函数加入。

    char s[]= {" --no-sandbox"};
    argv[argc] = s;
    argc++;

ubuntu 显示webengine。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

daobuxuxing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值