我正在使用MSVC2017 32位编译器在Qt Creator中编译我的Qt项目。它可以编译并无错误运行,但是某些功能不再起作用。 (我正在将其与MinGW编译器进行比较。)
由于项目很大,而且我没有收到任何错误消息(和the debugger is not working),因此很难缩小问题的范围。因此,我想一般地问:在Qt Creator中切换到MSVC时可能出现什么问题? (解决所有配置问题后)。某些Qt类停止工作了吗?某些信号会停止发射吗?您之前遇到过什么问题,如何解决?
删除构建文件,清理,运行qmake,重建都没有任何改变。
答案 0 :(得分:0)
没有任何与Qt Creator有关的问题,因为Qt Creator是一个IDE,并且与构建产品是否起作用无关。 MSVC 2017是受支持的Qt平台,因此在这一方面您应该还不错。然后,您可能想问,与mingw相比,MSVC 2017是否增加了任何问题。以我的经验,它曾经是另一种方式:与MSVC相比,mingw通常会增加与其永久滞后于平台标头有关的问题。这些天,我希望两者应该差不多。
构建过程分为两个阶段:qmake
(或cmake
),然后是make
。 Qt Creator仅运行这两个环境,并设置了环境,就像首先调用vcvars
一样。通过调用vcvarsall
,qmake
(或cmake
),然后依次nmake
(或jom
或{{1} },具体取决于情况。
“ 某些功能不再起作用”实际上并没有帮助:请修改问题,以确切说明哪些不起作用。理想情况下,请显示一些重现此问题的测试用例。您很有可能有一些未定义的行为,但并没有通过gnu编译器来维护其丑陋的头,但是使用MSVC了。如果大型项目的开发没有良好的测试覆盖率和静态分析,那么在大型项目中并不少见。