有没有办法将Qt的源代码版本复制到另一个位置?

时间:2010-06-24 13:01:17

标签: qt build-automation

我们正在使用Qt的商业许可构建Windows和Mac应用程序,我们正在使用git克隆构建。

我们使用Hudson和可能的几个构建代理进行了构建设置,我想为Windows做的至少是构建一次然后将构建Qt部署到每个代理(而不是必须在每个代理上构建Qt)剂)。但是,似乎构建的Qt不喜欢被移动或复制。

有解决方法吗?我们有一个想法是,是否有一些设置会构建Qt所以它类似于他们的二进制分布,但我看不到这样做的方法。

1 个答案:

答案 0 :(得分:5)

发布的Qt二进制文件的工作方式是:

Qt内置于一个非常长的构建路径中(例如在Windows上,c:\Qt\______________padding__________for_________packaging________________).然后它被打包到安装程序中。安装程序包含一个自定义插件,它在安装时扫描二进制文件并修补Qt二进制文件,用用户的安装路径替换长构建路径。注意,二进制文件的大小不能更改,因此用户的安装路径必须始终短于构建路径......

在Mac和Linux上,还有类似的rpaths。 rpath使用$ORIGIN使其相对,或者像上面的路径一样进行二进制修补。

制作二进制包的脚本非常单一,并且不容易提取这个逻辑......

对于您的用例,我建议您始终在可预测的路径中构建Qt。始终在c:\Qt_test构建Qt并在每个代理上部署到c:\Qt_test。缺点是Hudson可能不太擅长自动清理它,所以你必须自己编写脚本。