Visual Studio工程升级QT产生的问题及解决

文章目录

小结

最近将QT从版本5.3.2升级到了5.12.7,经及将VS2012工程升级到VS2015,碰到了一些问题,例如路径问题,程序无法启动的问题(Entry Point Not Found),进行了解决。

问题及解决

QT的路径问题

卸载QT版本5.3.2后,重新安装QT版本版本, QT的路径问题是VS工程编译的时候返回以下错误,

  • error MSB6006: "cmd.exe" exited with code 3?
  • QTDIR not found error building project in MSVC

解决办法:

打开xxx..vcxproj.user文件,修改指定QT路径,例如:

xml 复制代码
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
    <QTDIR>C:\Qt\Qt5.12.7\5.12.7\msvc2015_64</QTDIR>
    <LocalDebuggerEnvironment>PATH=$(QTDIR)\bin%3b"$(QTDIR)\bin%3b$(QTDIR)\bin%3b"$(QTDIR)\bin%3b$(QTDIR)\bin%3b"$(QTDIR)\bin%3b$(QTDIR)\bin%3b"$(QTDIR)\bin%3b$(QTDIR)\bin%3b"$(QTDIR)\bin%3b$(PATH)</LocalDebuggerEnvironment>
  </PropertyGroup>

0xC0000139: Entry Point Not Found

通常的报错是(ntdll.dll)处(位于 .exe 中)引发的异常: 0xC0000139: Entry Point Not Found,导致问题的原因众说纷纭,大体上是QT环境设置的问题。

具体到我的问题,发现以下工程中使用的DLL版本为旧的DLL,

Qt5Cored.dll

Qt5Guid.dll

Qt5PrintSupportd.dll

Qt5Sqld.dll

Qt5Svgd.dll

Qt5Widgetsd.dll

以下DLL手动替换为5.12.7版本,进行重新编译运行,成功!

参考

Stackoverflow: QTDIR not found error building project in MSVC
Stackoverflow: How do I resolve error MSB6006: "cmd.exe" exited with code 3?
CSDN: (ntdll.dll)处(位于 .exe 中)引发的异常: 0xC0000139: Entry Point Not Found
CSDN: 0xC0000139: Entry Point Not Found
CSDN: QT运行调试报0xc0000139错误

相关推荐
Cx330❀15 小时前
Qt 多线程深度解析:从底层原理到 UI 线程与同步实战
开发语言·qt·ui·搜索引擎·性能优化·图形渲染
西西弗Sisyphus15 小时前
Qt6 实现 会动的界面像物理世界一样
c++·qt
MayZork16 小时前
Qt 开发集成CMake + vcpkg
开发语言·c++·qt
VIP_CQCRE16 小时前
在 Visual Studio 里接入 AI 编程能力:用 Ace Data Cloud + LMLocal 打通 OpenAI 兼容接口
openai·ai编程·visual studio·mcp·ace data cloud
书生执笔画浮沉16 小时前
Linux桌面端应用向鸿蒙PC迁移适配纪实
c++·qt·c·信创·海思·libc·ohos
今夜有雨.17 小时前
图像运算、掩膜/ROI 与绘制交互
c语言·数据结构·c++·qt·算法·计算机视觉
水饺编程19 小时前
第1章,[Win32 章节]:Windows 的方方面面
c语言·c++·windows·visual studio
郝学胜-神的一滴20 小时前
C++ Templates 07:编译报错和调试手段与实战技巧
开发语言·c++·后端·软件工程·visual studio
时间的拾荒人20 小时前
Qt 网络编程与音视频开发实战:从 UDP/TCP 到 HTTP 与多媒体
网络·qt·音视频
H.莓飛1 天前
【C++】命名空间、缺省参数、函数重载与引用
linux·开发语言·c++·visual studio