如何在没有官方支持的情况下使用 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?的主要内容,如果未能解决你的问题,请参考以下文章

Wcf 测试客户端如何在没有 Visual Studio 的情况下使用?

ST Visual Programmer批量烧写教程

如何在没有 Visual Studio 的情况下进行调试?

如何在 Visual Studio 2017 中使用 Qt 库?

Visual Studio VC2013 在没有 AVX 的情况下启用 SSE4.1

如何在没有nuget.exe或Visual Studio扩展的情况下下载Nuget包?