Windows 在Qt Creator中集成MSCV时可能出现的问题?

Windows 在Qt Creator中集成MSCV时可能出现的问题?,windows,qt,visual-c++,qt-creator,Windows,Qt,Visual C++,Qt Creator,我正在使用MSVC2017 32位编译器在Qt Creator中编译我的Qt项目。它编译和运行时不会出错,但有些功能不再起作用。(我正在将其与MinGW编译器进行比较。) 由于项目相当大,我没有收到任何错误消息(和),因此很难缩小问题的范围。所以我想问一下:在Qt Creator中切换到MSVC时可能出现什么问题?(解决所有配置问题等后)某些Qt类是否停止工作?有些信号停止发出了吗?你以前遇到过什么问题?你是如何解决的 删除生成文件、清理、运行qmake、重建不会改变任何东西。与Qt Creat

我正在使用MSVC2017 32位编译器在Qt Creator中编译我的Qt项目。它编译和运行时不会出错,但有些功能不再起作用。(我正在将其与MinGW编译器进行比较。)

由于项目相当大,我没有收到任何错误消息(和),因此很难缩小问题的范围。所以我想问一下:在Qt Creator中切换到MSVC时可能出现什么问题?(解决所有配置问题等后)某些Qt类是否停止工作?有些信号停止发出了吗?你以前遇到过什么问题?你是如何解决的


删除生成文件、清理、运行qmake、重建不会改变任何东西。

与Qt Creator相关的问题不存在,因为Qt Creator是一个IDE,与生成产品是否工作几乎无关。MSVC 2017是一个受支持的Qt平台,所以在这方面你应该很好。那么,您可能想问,与mingw相比,MSVC 2017是否增加了任何问题。根据我的经验,过去情况正好相反:通常情况下,与MSVC相比,mingw会增加一些问题,这与它在完整性方面永远落后于平台头有关。现在,我希望这两个人能保持一致。

构建分两个阶段完成:
qmake
(或
cmake
),然后是
make
。Qt Creator只运行这两个命令,环境设置为首先调用
vcvars
。通过调用
vcvvarsall
qmake
(或
cmake
),然后调用
nmake
(或
jom
ninja
,视情况而定),可以从命令行获得相同的版本


“某些功能不再起作用”并没有真正的帮助:请修改问题,准确解释哪些功能不起作用。理想情况下,显示一些重现问题的测试用例。很可能您有一些未定义的行为,这些行为在gnu编译器中并没有出现,但在MSVC中却出现了。如果大型项目没有良好的测试覆盖率和静态分析,这在大型项目中并不少见。

什么功能不起作用?是的,我犯了一些旧编译器没有发现的错误!旁白:编译器的工作不是查找标准不要求它查找的错误。这就是测试和严格的软件工程方法的目的:避免错误的最佳方法是通过设计,也就是说,构建软件时,尽管存在人为错误,但错误不太可能或不可能发生。是的,是有意义的。但是你必须从某个地方开始,当然一开始它并不完美……当然!我只是指出,一种发现bug的方法是让(某些)bug变得不可能的设计——这是一种经常被遗忘的方法。现代C++能够在核心层的低级别类之外编写代码,大多数bug不会编译。例如,这是20年前可能发生的重大飞跃。