如何在没有官方支持的情况下使用 Visual Studio 2015 构建 Qt 4.8.6?

Posted

技术标签:

【中文标题】如何在没有官方支持的情况下使用 Visual Studio 2015 构建 Qt 4.8.6?【英文标题】:How to build Qt 4.8.6 with Visual Studio 2015 without official support? 【发布时间】:2015-09-29 16:15:03 【问题描述】:

目前(2015 年 9 月)没有针对 Visual Studio 2015 的官方 Qt 构建。如何手动构建?

【问题讨论】:

【参考方案1】:

它可以很容易地手动构建。以下示例适用于 Qt 4.8.6。

    下载 Qt 4.8.6 源代码: http://download.qt.io/archive/qt/4.8/4.8.6/qt-everywhere-opensource-src-4.8.6.zip 并打开包装。让 Qt 前缀为 c:\Qt-2015\4.8.6\msvc2015。将下载的源目录中的源复制到 prefix dir。

    应用补丁 02-fix_build_with_msvc2015-45e8f4ee.diff https://drive.google.com/file/d/0Bz6Oefew6XZnOU9ac0hIeG41UVE/view?usp=sharing 见帖子:https://forum.qt.io/topic/56453/compiling-qt4-head-with-msvc-2015-cstdint-errors/5 摆脱编译错误 (我手动应用了所有更改,时间不长)。

    在 mkspecs 目录中创建新的 win32-msvc2015 规范: 创建win32-msvc2015目录,复制win32-msvc2013目录的内容, 编辑 qmake.conf:将 _MSC_VER 设置为 1900 并在适当的情况下更新 2013 至 2015 的所有文本:

    在 prefix dir/qmake/ 目录中编辑 makefile.win32 文件: 找到所有出现的 win32-msvc2013 并类似地添加 win32-msvc2015:

    现在来自 Visual Studio 2015 命令提示符

    运行(这些是示例命令,其他命令可能会根据构建需要而有所不同):

    configure -make nmake -platform win32-msvc2015 -prefix c:\Qt-2015\4.8.6\msvc2015 -opensource -confirm-license -opengl desktop -nomake examples -nomake tests

    选项 -make nmake 需要,因为configure.exe默认搜索nmake的最大版本vs 2013,否则它使用make。

    然后是单核构建命令

    nmake

    (或 jom.exe -jN,其中 N

    就是这样。这个例子没有 Webkit、例子和演示——为了速度。 对我来说,在单核上构建大约需要 1.5 小时。

【讨论】:

这是 trigger 的附加信息 回答:您可以从QT download 下载 QT 4.8 的最新版本(目前是 4.8.7)。这个版本支持VS 2015,所以你不需要从trigger answer执行步骤34 注意使用 Python 在 Windows 上自动应用差异:pip install patch python -m patch 然后,导航到站点包目录(例如:C:\Python27\lib\site-packages\ ) 并找到patch.py​​ 将此文件复制到qt 根目录(例如:C:\qt\qt4.8.7)然后在命令行运行:patch.py 02-fix_build_with_msvc2015-45e8f4ee.diff 然后您可以从qt 中删除diff 和patch.py​​ 文件目录并编译。 另外,最新版本的qt4.8.7,他们已经完成了win32-msvc2015的设置工作,所以你可以跳过步骤3和4。 大家,编译后不要忘记nmake install 我使用以下链接(与这篇 SO 文章)使用 Visual Studio 2017 构建 Qt 4.8.7:github.com/sandym/qt-patches/tree/master/windows/qt-4.8.7

以上是关于如何在没有官方支持的情况下使用 Visual Studio 2015 构建 Qt 4.8.6?的主要内容,如果未能解决你的问题,请参考以下文章