我需要获得Qt 5.4.0源代码,进行一些更改,然后在Windows和Mac OS X上构建它(包括qtwebkit)。
如果我下载.zip文件,我可以在Windows上构建,但configure不会在Mac上运行——显然,它不喜欢行尾。如果我从.tar.gz Qt5下载中复制configure和qtbase/configure(.zip中缺少它们),configure会给我一个"你的PATH中似乎没有'make'或'gmake'"错误。
如果我下载.tar.gz文件,我可以在Mac上构建,但它缺少config.bat(谁知道还有什么),所以我不能在Windows上构建。
如果我使用git来获取源代码,那么我最终会得到我认为最新的dev分支的源代码。我需要实际5.4.0版本的来源。我不是git专家,所以即使我可以在dev分支上使用源代码,我也从未成功地构建过它
编辑:我确实设法通过git获得了Qt 5.4.0,并成功地运行了perl init-repository
。但是,当我将该源复制到Windows并尝试运行configure
时,它会抱怨缺少qtbase\configure.exe。如果我从.zip版本的Qt 5.4.0复制config.exe,configure
将使用C:qtqt5_gitqtbasesrccorelibglobalqglobal.h(68) : fatal error C1083: Cannot open include file: 'QtCore/qsystemdetection.h': No such file or directory
失败。当然,qsystemdetection.h确实与qglobal.h存在于同一文件夹中。
如果我在Windows上使用git获取Qt 5.4.0并运行perl init-repository
,那么在Windows上运行良好。但是,复制到OSX会产生与使用.zip文件相同的问题,如上所述。
一定有办法做到这一点!当Qt存在的全部原因是为了跨平台开发时,具有讽刺意味的是,Qt5要求我维护两个独立的代码库(一个用于Windows,一个用于OS X)才能构建它
那么我错过了什么?如何获得Qt 5.4.0的副本,我可以稍微修改,然后在Windows和OS X上构建?
感谢Qt论坛上的一些帮助,以下是我所做的工作:
- 在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复制config.exe,然后从.tar.gz将其粘贴到源文件中
- 对.tar.gz源代码进行编辑
- 使用7zip创建一个新的源.tar.gz,并进行编辑。我已经将新的.tar.gz复制到Windows 7和OS X Yosemite构建机器上,它在这两个机器上进行配置和构建,包括构建qtwebkit