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

我的问题是:我可以使用哪种建筑机制来管理依赖关系并构建这些项目?

我已经使用了SCONS和GYP。它们相当易于使用,并允许插件(代码生成器,编译器,包装工)。我想知道是否有其他选择,尤其是对C ++,Java和Python的本机支持。

我在Linux平台中开发,但我也希望能够在Mac中构建并赢得平台。

有帮助吗?

解决方案

一个有希望的选择是WAF:

其他:

不完全是非常相关的:

其他提示

cmake

我使用并更喜欢我的项目。

也有耙子(带有Ruby,但可以用于任何东西),我对此非常重视。

我试图在Cmake中对Java / C ++ / C ++进行Java Swig /(+协议缓冲区)项目,这太可怕了!在这种情况下,CMAKE的问题是,脚本语言极为有限。我切换到SCONS,一切都变得更加容易。

对于Java和C ++项目,您可以查看Maven+ Maven-nar-Plugin,但对于Python,我真的不知道最好的。也许是其他工具,例如CMAKE会更合适。

在Java世界中,蚂蚁是构建系统的“通用语言”。 ANT通过ANT -CONTRIB支持C ++任务 - 因此您可以编译C ++代码。通过ANT的EXEC任务,您仍然可以在C ++代码上运行SWIG,以获取包装器。然后,可以将标准任务用于Java/JAR来构建Java应用程序。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top