QtCreator中如何远程编译

How to remote compile in QtCreator

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

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

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

QtCreator有远程编译选项吗?

我不认为你可以在 Qt Creator 中远程编译,但你可以使用像 Jenkins to setup a distributed build environment 这样的连续构建系统。在你的所有 VM 中构建从属将在你的 SCM 中编译,如 git 或 Subversion。

这种方法的优点:

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

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

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

关于如何配置它的简短说明:

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

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

  3. 在您的 QtCreator 项目中配置 "Custom Process Step" 以连接到您的服务器并开始编译。 假设您有:

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