如何获得同时适用于 Windows 和 OS X 的 Qt 5.4.0 源代码
how to get Qt 5.4.0 source that works for BOTH Windows and OS X
我需要获取 Qt 5.4.0 源代码,进行一些更改,然后在 Windows 和 Mac OS X(包括 qtwebkit)上构建它。
如果我下载 .zip 文件,我可以在 Windows 上构建,但配置不会在 Mac 上 运行 - 它显然不喜欢行尾.如果我从 .tar.gz Qt5 下载中复制配置和 qtbase/configure(.zip 中缺少),配置会给我一个 "You don't seem to have 'make' or 'gmake' in your PATH" 错误。
如果我下载 .tar.gz 文件,我可以在 Mac 上构建,但缺少 configure.bat(谁知道还有什么),所以我无法在 Mac 上构建Windows.
如果我使用 git 来获取源代码,我最终会得到我认为的最新开发分支的源代码。我需要实际 5.4.0 版本的源代码。我不是 git 专家,所以即使我可以使用 dev 分支上的源代码,我也从未成功构建它。
编辑:我确实设法通过 git 获得了 Qt 5.4.0,并成功地 运行 perl init-repository
。但是,当我将该源复制到 Windows 并尝试复制到 运行 configure
时,它会抱怨缺少 qtbase\configure.exe。如果我从 Qt 5.4.0 的 .zip 版本复制 configure.exe,configure
会失败并返回 C:\qt\qt5_git\qtbase\src\corelib\global\qglobal.h(68) : fatal error C1083: Cannot open include file: 'QtCore/qsystemdetection.h': No such file or directory
。当然,qsystemdetection.h 确实存在于与 qglobal.h.
相同的文件夹中
如果我使用 git 在 Windows 和 运行 perl init-repository
上获取 Qt 5.4.0,那在 Windows 上运行良好。但是复制到 OS X 会产生与使用 .zip 文件相同的问题,如上所述。
一定有办法做到这一点!当 Qt 存在的全部原因是跨平台开发时,Qt5 要求我维护 2 个独立的代码库(一个用于 Windows,一个用于 OS X)只是为了能够建造它。
那我错过了什么?我如何获得 Qt 5.4.0 的副本,我可以稍微修改一下,然后在 Windows 和 OS X 上构建?
感谢一些 help on the Qt forum,这是我所做的工作:
- 在 Windows 7.
上下载 Qt 5.4.1 .tar.gz
- 用 7zip 解压。
configure.bat 都包括在内!但是,qtbase\configure.exe 在配置时没有生成。似乎只有当我通过 git.
获取源代码时才会发生
- 下载 Q 5.4.1 .zip。
事实证明,.zip 包含 qtbase\configure.exe!
- 从 .zip 复制 configure.exe 并将其粘贴到 .tar.gz.
的源代码中
- 对 .tar.gz 来源进行编辑。
- 使用 7zip 创建一个新的 .tar.gz 源文件,其中包含我的编辑。
我已将新的 .tar.gz 复制到 Windows 7 和 OS X Yosemite 构建机器,并在两者上进行配置和构建,包括构建 qtwebkit。
我需要获取 Qt 5.4.0 源代码,进行一些更改,然后在 Windows 和 Mac OS X(包括 qtwebkit)上构建它。
如果我下载 .zip 文件,我可以在 Windows 上构建,但配置不会在 Mac 上 运行 - 它显然不喜欢行尾.如果我从 .tar.gz Qt5 下载中复制配置和 qtbase/configure(.zip 中缺少),配置会给我一个 "You don't seem to have 'make' or 'gmake' in your PATH" 错误。
如果我下载 .tar.gz 文件,我可以在 Mac 上构建,但缺少 configure.bat(谁知道还有什么),所以我无法在 Mac 上构建Windows.
如果我使用 git 来获取源代码,我最终会得到我认为的最新开发分支的源代码。我需要实际 5.4.0 版本的源代码。我不是 git 专家,所以即使我可以使用 dev 分支上的源代码,我也从未成功构建它。
编辑:我确实设法通过 git 获得了 Qt 5.4.0,并成功地 运行 perl init-repository
。但是,当我将该源复制到 Windows 并尝试复制到 运行 configure
时,它会抱怨缺少 qtbase\configure.exe。如果我从 Qt 5.4.0 的 .zip 版本复制 configure.exe,configure
会失败并返回 C:\qt\qt5_git\qtbase\src\corelib\global\qglobal.h(68) : fatal error C1083: Cannot open include file: 'QtCore/qsystemdetection.h': No such file or directory
。当然,qsystemdetection.h 确实存在于与 qglobal.h.
如果我使用 git 在 Windows 和 运行 perl init-repository
上获取 Qt 5.4.0,那在 Windows 上运行良好。但是复制到 OS X 会产生与使用 .zip 文件相同的问题,如上所述。
一定有办法做到这一点!当 Qt 存在的全部原因是跨平台开发时,Qt5 要求我维护 2 个独立的代码库(一个用于 Windows,一个用于 OS X)只是为了能够建造它。
那我错过了什么?我如何获得 Qt 5.4.0 的副本,我可以稍微修改一下,然后在 Windows 和 OS X 上构建?
感谢一些 help on the Qt forum,这是我所做的工作:
- 在 Windows 7. 上下载 Qt 5.4.1 .tar.gz
- 用 7zip 解压。 configure.bat 都包括在内!但是,qtbase\configure.exe 在配置时没有生成。似乎只有当我通过 git. 获取源代码时才会发生
- 下载 Q 5.4.1 .zip。 事实证明,.zip 包含 qtbase\configure.exe!
- 从 .zip 复制 configure.exe 并将其粘贴到 .tar.gz. 的源代码中
- 对 .tar.gz 来源进行编辑。
- 使用 7zip 创建一个新的 .tar.gz 源文件,其中包含我的编辑。 我已将新的 .tar.gz 复制到 Windows 7 和 OS X Yosemite 构建机器,并在两者上进行配置和构建,包括构建 qtwebkit。