6

我有 C++、Java 和 Python 的项目。C++ 中的项目导出 SWIG 接口,以便 Java 和 Python 项目可以使用它们。

我的问题是:我可以使用什么构建机制来管理依赖项和构建这些项目?

我用过 SCons 和 GYP。它们相当容易使用并允许插件(代码生成器、编译器、打包器)。我想知道是否有替代方案,特别是对 C++、Java 和 Python 的本机支持。

我在 Linux 平台上开发,但我也希望能够在 mac 和 win 平台上构建。

4

5 回答 5

9

制作

我在我的项目中使用并更喜欢它。

还有 Rake(与 Ruby 一起提供,但可以用于任何事情),我非常看重它。

于 2010-11-10T05:47:40.620 回答
7

一种有希望的替代方案是 waf:

其他:

不完全但非常相关:

于 2010-11-10T05:33:41.123 回答
4

我试图在 CMAKE 中做一个 Java / C++ / C++ To Java swig / (+ Protocol buffers) 项目,这太可怕了!在这种情况下,Cmake 的问题是脚本语言非常有限。我切换到 Scons,一切都变得容易多了。

于 2011-08-26T07:39:21.057 回答
1

对于 Java 和 C++ 项目,您可以查看 Maven + Maven-nar-plugin,但对于 Python,我真的不知道最好的。可能像 CMake 这样的其他工具更适合。

于 2010-11-10T08:30:08.503 回答
1

在 Java 世界中,ant 是构建系统的“通用语言”。Ant 通过 ant-contrib 支持 C++ 任务 - 因此您可以编译您的 C++ 代码。使用 Ant 的 exec 任务,您仍然可以在 C++ 代码上运行 swig 以获得包装器。然后 javac/jar 等标准任务可用于 java 应用程序构建。

于 2010-11-10T10:23:59.520 回答