我把Maven放在一群业余的、写得很差、很原始的C/C++代码上(意思是一些C,一些C++)。问题是--目前有很多这样的东西在流通,不能轻易地替换掉。构建它需要大量的部落知识(你必须从一个立方体到另一个立方体才能了解如何编译/构建各个部分),而发布完全是一场噩梦。(不-我不打算重写它,请不要问)我的问题是-我是应该使用maven-native-plugin来替换大量的简短makefile,还是应该使用exec-maven-plugin来简单地执行这些文件?到目前为止,我有pretty good experience,后者在做.NET,我不知道我是应该投资于native插件还是继续使用exec?如果你有"Mavenizing“C/C++的经验,我很乐意得到一些建议。
发布于 2009-10-09 05:34:12
我强烈推荐maven-nar-plugin。我发现它在很多方面都优于其他选择。它不需要列出源文件,处理多个OSes和架构,处理单元和集成测试,并且通常遵循“maven方式”。它引入了一种新的打包方式-- NAR或“原生存档”,其中包含您关心的工件(.dll、.so、.a、.exe等)。而且以有意义的方式也包括元数据、报头等。
将第三方软件打包到NAR中确实需要一些前期工作,但它非常简单。一旦它们是NAR,您只需使用普通的Maven依赖机制来链接它们,例如:
<dependency>
<groupId>cppunit</groupId>
<artifactId>cppunit</artifactId>
<scope>test</scope>
</dependency>一个缺点是它似乎没有得到积极的维护,但它功能齐全,是Maven插件创作的一个相当令人印象深刻的例子。
发布于 2021-08-08 17:03:37
在Maven (Java)拥有等价物。我的建议是使用CMake + CPM进行构建和PKG管理,这是C++世界中最常用的工具。作为另一种选择,Gradle也适用于C++。
有用链接:https://medium.com/swlh/cpm-an-awesome-dependency-manager-for-c-with-cmake-3c53f4376766
https://stackoverflow.com/questions/1541771
复制相似问题