使用msvc构建Qt for Windows - Qmakespec错误

时间:2015-03-26 17:30:18

标签: windows visual-studio qt build msvc12

我正在尝试使用Visual Studio 2013静态构建Qt

为此,我正在关注the instructions provided by the official website

1)下载,安装ActivePerl 5.20并将其添加到PATH。

2)下载并解压缩qt-everywhere-enterprise-src-5.3.1的存档并解压缩到C:\ Qt \ Entreprise_2

3)我打开msvc 2013命令提示符,并将目录更改为:C:\ Qt \ Entreprise_2 \ qt-everywhere-enterprise-src-5.3.1

4)从这里开始,我在路径中添加了2个新元素:

SET PATH = C:\ Qt \ Entreprise_2 \ qt-everywhere-enterprise-src-5.3.1 \ qtbase \ bin; C:\ Qt \ Entreprise_2 \ qt-everywhere-enterprise-src-5.3.1 \ gnuwin32 \仓;%PATH%

5)我定义QMAKESPEC以使用msvc:SET QMAKESPEC = win32-msvc2013。

6)最后,我启动了编译: configure -commercial -nomake tests -nomake examples -debug -static

如果我跳过第5部分,我会收到

我收到了答案: “QMAKESPEC环境变量设置为”win32-msvc2013“,这不是支持的平台”

如果我跳过第6步,我会获得: “无法从环境中检测平台。使用-platform commandlineargument或设置QMAKESPEC环境变量并再次运行configure”

然而,根据Qt支持中心:

1)“win32-msvc2013”​​是与Visual Studio一起使用的正确QMAKESPEC

2)如果我们使用Visual Studio命令提示符(就像我做的那样)而不是正常的那个,设置QMAKESPEC是任意的,因为visual studio应该在开头设置正确的参数

那么,有没有人知道如何解决这些错误?

顺便说一下,是否有人知道Qmakespec的定义是什么与“支持平台”相对应?

2 个答案:

答案 0 :(得分:1)

遇到同样的问题,首先查看mkspecs文件夹(来自存档)并确保您的平台在那里,可能不受支持或查看此处: http://doc.qt.io/QtSupportedPlatforms/index.html

如果您的平台受支持且您在提取的mkspecs文件夹中拥有它,那么不知道您的问题是什么?!?

答案 1 :(得分:1)

显然,当我解压缩归档文件时,mkspec文件夹中的大部分文件都无法复制,或者之后被销毁。最有可能是后者,因为每次我尝试启动编译时都会删除一些源文件。

我找到的解决方案是在每次编译之前从存档中重新创建源文件。