我正在尝试使用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的定义是什么与“支持平台”相对应?
答案 0 :(得分:1)
遇到同样的问题,首先查看mkspecs文件夹(来自存档)并确保您的平台在那里,可能不受支持或查看此处: http://doc.qt.io/QtSupportedPlatforms/index.html
如果您的平台受支持且您在提取的mkspecs文件夹中拥有它,那么不知道您的问题是什么?!?
答案 1 :(得分:1)
显然,当我解压缩归档文件时,mkspec文件夹中的大部分文件都无法复制,或者之后被销毁。最有可能是后者,因为每次我尝试启动编译时都会删除一些源文件。
我找到的解决方案是在每次编译之前从存档中重新创建源文件。