Qt报QWidget: Must construct a QApplication before a QWidget错误

Qt报QWidget: Must construct a QApplication before a QWidget错误

Qt 报这个错误的原因是程序中采用了LIBS添加静态库lib库文件和运行的模式(Debug/Release)模式加载对应的dll动态库不匹配问题

解决方案:亲测有效

  1. 在pro文件中加载静态库时,区分是release和debug模式
# 加载静态库:根据情况,加载对应的库
# d代表debug模式编译的debug库
win32:CONFIG(release, debug|release): {
LIBS += $$PWD/lib_x64/release/libTest*.a
}
else:win32:CONFIG(debug, debug|release): {
LIBS += $$PWD/lib_x64/debug/libTestd*.a
}

  1. 在编译好的可执行exe文件同级目录下同时拷贝release和debug模式下的动态库文件:dll文件
libTest.dll #release 动态库,与静态库lib*.a文件保持除后缀不一致外,其他一致
libTestd.dll # debug 动态库,与静态库lib*.a文件保持除后缀不一致外,其他一致

此时采用Qt 编译和运行程序时,Qt会自动选择对应的库进行编译和运行

特别说明:若切换了release和debug模式,需要重新全部编译,保证库编译和加载正常

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值