如何在QtCreator中远程编译

时间:2015-01-19 15:07:09

标签: c++ qt qt-creator cross-compiling remote-debugging

我正在使用Mac OS X中的QtCreator开发一个应用程序,它必须是跨平台的。

我有Mac OS X作为主机。此外,我在虚拟机上安装了MS Windows,在另一个虚拟机上安装了Ubuntu:

  • Mac OS X:Qt 5.4.0 - 64bit - clang - Xcode 6.0
  • MS Windows:Qt 5.3.0 - 32bit - VC ++ 2013
  • Ubuntu:Qt 5.3.0 - 64bit - GCC

如何在Mac OS中开发我的应用程序并在其他平台(Mac / Windows / Ubuntu)中同时构建它?

QtCreator中是否有任何远程编译器选项?

2 个答案:

答案 0 :(得分:6)

我认为您无法在Qt Creator中进行远程编译,但您可以使用Jenkins之类的连续构建系统来设置distributed build environment。在所有VM中构建从属服务器将在您的SCM中进行编译,如git或Subversion。

这种方法的优点:

  • 适用于所有主要平台,如Linux,MacOS,Windows
  • ..以及所有主要编译器
  • 无论Qt Creator支持如何,您都可以在任意数量的平台上构建
  • 您可以轻松获得帮助,因为这是在许多专业系统中完成的
  • 您可以分发您的开发
  • 您可以使用任何IDE
  • 你有很大的灵活性和大量的插件,让生活更轻松

注意:还有更多CI系统,请参阅here

答案 1 :(得分:5)

我在Windows中使用远程编译。我使用plink创建了自定义构建步骤,这样可以使用密钥授权执行远程命令,从而启动构建。 Qt创建者甚至可以解析返回的错误:)

简短说明如何配置:

  1. 在putty中为您的用户创建公钥认证并配置与服务器的连接: https://www.howtoforge.com/how-to-configure-ssh-keys-authentication-with-putty-and-linux-server-in-5-quick-steps

  2. 下载plink: https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

  3. 在您的QtCreator项目中,配置“自定义流程步骤”以连接到您的服务器并开始编译。 假设你有:

    • putty会话到您的构建服务器已配置并命名为 CentOS7_local
    • user usename
    • 位于用户主目录中的
    • 项目名为 projectname 你可以使用类似的东西(如果你需要一些更复杂的构建开始,你可以在服务器上创建一个bash脚本并调用它):
  4. enter image description here