我在构建机器上有很多不同的VS实例,所以我使用-spec
标志告诉qmake
生成正确的项目。不幸的是,Qt似乎忽略了它并继续使用错误的编译器:
[01:51:01][Step 1/2] Starting: C:\Qt\Qt5.1.1\5.1.1\msvc2012_64_opengl\bin\qmake.exe -spec win32-msvc2013 -tp vc Fixer.pro
[01:51:01][Step 1/2] in directory: C:\TeamCity\buildAgent4\work\d1b6b25e39f4d573\src\Fixer
[01:51:02][Step 1/2] WARNING: Generator: MSVC.NET: Found more than one version of Visual Studio, but none in your path! Fallback to lowest version (MSVC.NET 2013 (12.0), MSVC.NET 2012 (11.0), MSVC.NET 2010 (10.0))
[01:51:02][Step 1/2] Process exited with code 0
为什么会这样?有什么方法可以强迫它使用我想要的VS版本吗?
注意:我实际上并没有安装VS2010。我已经卸载了它,但qmake
似乎仍然可以找到它。
答案 0 :(得分:1)
这种情况正在发生,因为您似乎安装了多个Visual Studio版本,即
(MSVC.NET 2013(12.0),MSVC.NET 2012(11.0),MSVC.NET 2010(10.0))
根据您的错误消息。
要解决此问题,您需要先设置PATH
变量,以便在其中包含所需的Visual Studio。这意味着VS2013在这种特殊情况下基于传递给qmake的-spec
选项的参数。
这是一个解决方案,但您也可以通过在特殊情况下运行VS2013安装的相应终端来解决此问题。如果从开始菜单中正确运行,它将在为您设置必要的环境时启动提示。
希望这可以澄清混乱。