我们目前使用 qmake 和 .pro 文件为 Visual Studio 2008 创建项目,但默认的解决方案平台是 Win32。每次重建项目时,我都必须通过进入配置管理器并从 Win32 解决方案复制设置来手动将平台更改为 x64。
我无法在在线/QT 论坛上找到一种自动创建为 x64 构建配置的 VS2008 解决方案的方法。我需要为 QT 创建自己的 makespec 吗?我是否需要指定特定于 x64 的 VS 标志?有没有人可以发布他们已成功用于创建 x64-spec 项目的示例?
我们目前使用 qmake 和 .pro 文件为 Visual Studio 2008 创建项目,但默认的解决方案平台是 Win32。每次重建项目时,我都必须通过进入配置管理器并从 Win32 解决方案复制设置来手动将平台更改为 x64。
我无法在在线/QT 论坛上找到一种自动创建为 x64 构建配置的 VS2008 解决方案的方法。我需要为 QT 创建自己的 makespec 吗?我是否需要指定特定于 x64 的 VS 标志?有没有人可以发布他们已成功用于创建 x64-spec 项目的示例?
这是一个已知的问题。Qt bugtracker 中有几个相关的错误:QTBUG-6910和QTBUG-4046。如果您自己构建 Qt,第二个条目也有一个补丁链接,您可以使用该补丁。投票支持修复这些错误以提高此问题的可见性。
感谢 the_mandrill,这是解决方案:
首先,您需要下载补丁3891。然后,您需要应用补丁 - 您可以找到适用于 windows 的补丁实用程序,但我只是手动编辑了补丁中差异的文件;文件在\qmake\generators\win32
然后,您需要从头开始构建 QT,这是通过在命令提示符(确保它是 Visual Studio 目录中的 Visual Studio 2008 x64 命令提示符)中导航到您安装 QT 的目录来完成的,大概是C:/QT/4.7 .0,然后输入configure,然后输入nmake。
构建 QT 需要很长时间。同时,将这些添加到您的 qmake 文件将自动检测您的主机操作系统。请记住,此解决方案不会在 x64 上同时生成 win32 和 x64 配置 - 仅生成 x64 配置。
contains(QMAKE_HOST.arch, x86):{
QMAKE_LFLAGS *= /MACHINE:X86
}
contains(QMAKE_HOST.arch, x86_64):{
QMAKE_LFLAGS *= /MACHINE:X64
}
这将生成一个有效的 x64 Visual Studio 解决方案,该解决方案可以无错误地编译和链接。
这在 4.8 中已修复。
您需要从 VS x64 命令提示符运行 qmake,以便它可以检测 PATH 变量中的 amd64 编译器。