It's been a little while since I did C++ development professionally and I'd like to get caught up on what the current state of C++ development is in a number of areas. Most of my recent work has been Java, making heavy use of Maven. When I last did C++ development for work, some variant of make
was widely accepted as the way to go for building C++ projects (we were also using make
to do builds the Java code in our mixed Java and C++ projects, although I believe ant
was starting to become mainstream).
自从我专业地进行C ++开发以来,我已经有一段时间了,我想了解C ++开发在许多领域的当前状态。我最近的大部分工作都是Java,大量使用Maven。当我上次进行C ++开发工作时,make的一些变体被广泛接受为构建C ++项目的方式(我们也使用make在我们的混合Java和C ++项目中构建Java代码,尽管我相信ant是开始成为主流)。
I like using Maven for builds. My question is not to debate the relative merits of using Maven, but to determine what the level of adoption is for the Native Maven Plugin for building C++ projects and what people's experience with this has been. Alternately, is there a new common toolchain for C++ builds that has a lot of momentum?
我喜欢使用Maven进行构建。我的问题不是讨论使用Maven的相对优点,而是要确定Native Maven插件用于构建C ++项目的采用程度以及人们对此的体验。或者,是否有一个新的通用工具链用于C ++构建,具有很大的动力?
2 个解决方案
#1
In my experience, the C++ community still hasn't standardised on a common build tool. While the GNU autotools (and GNU make) are still popular for Open Source projects, other options include SCons, CMake, makepp and bjam/jam.
根据我的经验,C ++社区仍然没有标准化常见的构建工具。虽然GNU autotools(和GNU make)仍然很受开源项目的欢迎,但其他选项包括SCons,CMake,makepp和bjam / jam。
Personally, I would only use Maven for a project that's mainly written in Java with a small JNI part.
就个人而言,我只会将Maven用于一个主要用Java编写的小型JNI部分的项目。
#2
Our experience with the maven native plugin is that it integrates very well with the Java tool chain. If you build mixed java/C++ systems, then it is the plugin for you. Because of this plugin, our C++ and Java developers have the same environment (maven, eclipse, hudson) and a centralized dependency management (nexus). On the negative side, several of our fixes (performance related due to the high volume of our code base, several millions lines of code) have not been integrated to the main release which oblige us to work with a patch version.
我们使用maven native插件的经验是它与Java工具链的集成非常好。如果您构建混合的java / C ++系统,那么它就是您的插件。由于这个插件,我们的C ++和Java开发人员拥有相同的环境(maven,eclipse,hudson)和集中式依赖管理(nexus)。从消极方面来看,我们的一些修复(由于我们的代码库量很大,数百万行代码而导致性能相关)尚未集成到主要版本中,这迫使我们使用补丁版本。
#1
In my experience, the C++ community still hasn't standardised on a common build tool. While the GNU autotools (and GNU make) are still popular for Open Source projects, other options include SCons, CMake, makepp and bjam/jam.
根据我的经验,C ++社区仍然没有标准化常见的构建工具。虽然GNU autotools(和GNU make)仍然很受开源项目的欢迎,但其他选项包括SCons,CMake,makepp和bjam / jam。
Personally, I would only use Maven for a project that's mainly written in Java with a small JNI part.
就个人而言,我只会将Maven用于一个主要用Java编写的小型JNI部分的项目。
#2
Our experience with the maven native plugin is that it integrates very well with the Java tool chain. If you build mixed java/C++ systems, then it is the plugin for you. Because of this plugin, our C++ and Java developers have the same environment (maven, eclipse, hudson) and a centralized dependency management (nexus). On the negative side, several of our fixes (performance related due to the high volume of our code base, several millions lines of code) have not been integrated to the main release which oblige us to work with a patch version.
我们使用maven native插件的经验是它与Java工具链的集成非常好。如果您构建混合的java / C ++系统,那么它就是您的插件。由于这个插件,我们的C ++和Java开发人员拥有相同的环境(maven,eclipse,hudson)和集中式依赖管理(nexus)。从消极方面来看,我们的一些修复(由于我们的代码库量很大,数百万行代码而导致性能相关)尚未集成到主要版本中,这迫使我们使用补丁版本。