Windows 7的QT MSVC2015和Windows套件10

Qt msvc2015 and windows kit 10 for windows 7

本文关键字:Windows 套件 QT MSVC2015      更新时间:2023-10-16

我正在尝试移植我在Linux上开发的QT项目。这是我第一次在Windows上构建建筑物,而我无法解决问题的事实可能来自一个非常明显的缺失。

我迄今为止尝试的Windows配置是下一个:

  • Windows 10与QT 5.8 MSVC 2015,Windows套件10,QT Creator 4.5
  • Windows 7 SP1与QT 5.8 MSVC 2015,Windows套件10,QT Creator 4.6

使用两种配置,我获得了一个可以在主机计算机上成功运行的可执行文件,但是当我在新鲜安装的Windows 10上部署应用程序时,该应用程序启动了几秒钟,然后停止(/crashes?(。但是,错误消息,恢复对话框或事件日志都没有显示任何内容。

在新鲜安装的Windows 7 SP1上,我收到一条错误消息,说找不到CreateFile2的入口点。我知道自Windows 8以来已经添加了此功能,但是我不明白为什么在我的.pro文件中定义了_WIN32_WINNT,尽管我定义了_win32_winnt:

DEFINES += "_WIN32_WINNT=0x0601"

我也尝试了winver的定义,没有成功:

DEFINES += "WINVER=0x0601"

我以为使用此git上可用的依赖项软件没有DLL缺失。我还尝试了"超过折旧"的依赖性沃克(Walker(,该依赖性沃克(Walker(并未显示丢失的libs。

通过进步,谢谢您救我的Windowsians!

好吧,我发现我的项目正在使用的一个静态库之一,并且我通过VS 2017编译的是createfile2参考(使用dumpbin.exe(。我使用正确的_WIN32_WINNT值对其进行了重新编译,还将QT项目新鲜编译。但是,CreateFile2参考仍然存在。

最终,我发现了问题!问题来自我要构建的外部库,然后以静态模式链接到我的最终应用程序。用正确的_WIN32_WINNT重建外部LIB后,它起作用了!希望这个话题能像我这样的winnoob:(