对于 Unix 和 Windows 构建 C++ 软件,自动构建 32-64 位库、可由用户和机器复制的最佳工具是什么?

对于 Unix 和 Windows 构建 C++ 软件,自动构建 32-64 位库、可由用户和机器复制的最佳工具是什么?

是否有一个系统或产品可以用于自动化为多个平台(Solaris(Sparc 和 x86)和 Windows)构建 32 位和 64 位库的过程,这些库用于构建基于 C++ 的软件应用程序,该应用程序可以由其他用户在不同的平台上复制机器?

我正在寻找是否有一种产品或系统可以在我们的软件构建出现新库时自动执行编译库的过程。我们在 Solaris 和 Windows 32 位和 64 位环境中构建软件产品。我们希望构建新的库,然后将它们放在 SVN 或服务器上供开发人员获取。我们需要一个可记录的流程,能够由我们的任何开发人员完成,并且能够在任何机器上轻松设置和复制。

到目前为止,我们使用的两个选项是 OSC 脚本和 bash 脚本。我正在寻找更多选择。我最关心的是构建库,而不是应用程序。我希望开发人员可以在他们的构建中使用新的库。这就是C++开发。

答案1

你需要一个构建自动化工具,其中许多存在。即使您限制使用合适的工具来构建可在 Solaris 和 Windows 上运行的 C++ 程序,也可能有数百种选择。 Unix 和 Windows 世界中经典的与语言无关的构建自动化工具是制作。人们普遍认为可以做得更好,但对于谁实际上做得更好还没有达成共识。

构建自动化工具仅执行一系列指令以从源生成生成的二进制文件和其他产品。听起来你可能想要一个持续集成工具,它可以执行诸如从 svn 签出(可能在提交挂钩中自动)、调用 make、调用测试脚本、将生成的产品和测试结果上传到某处、在构建完成时发送通知并显示某种仪表板等操作随着构建的历史。

不存在事实上的标准持续集成工具,更不用说“最佳”了。检查维基百科列表,选择一些看起来可能的内容,然后花几分钟浏览他们的文档。然后选择一项并进行设置。除非您有其他未提及的要求,否则大多数这些产品应该都适合。

答案2

看一下使用主/从模式的 Jenkins。您可以设置一个 Jenkins 服务器来控制多个不同平台上的构建。

相关内容