2007-11-25

Maven工作总结(二) maven编译C++项目

关键字: maven c++
当初科长看中Maven就是考虑到Maven能编译C++项目;
用到的是native-maven-plugin,与maven-native-msvc-1.0-alpha-2.jar
pom.xml build写法
   <build>
- <plugins>
- <plugin>
  <groupId>org.codehaus.mojo</groupId> 
  <artifactId>native-maven-plugin</artifactId> 
  <extensions>true</extensions> 
- <configuration>
  <compilerProvider>msvc</compilerProvider> 
  <envFactoryName>org.codehaus.mojo.natives.msvc.MSVC2003EnvFactory</envFactoryName> 
- <compilerStartOptions>
  <compilerStartOption></compilerStartOption> 
  </compilerStartOptions>
  <javahOS>win32</javahOS> 
- <sources>
- <source>
  <directory></directory> 
- <includes>
    <include></include> 
  </includes>
  </source>
  </sources>
  <linkerSecondaryOutputExtensions>exe</linkerSecondaryOutputExtensions> 
- <linkerStartOptions>
  <linkerStartOption></linkerStartOption> 
  </linkerStartOptions>
  <javahOS>win32</javahOS> 
  </configuration>
  </plugin>
  </plugins>
  </build>

  

---envFactoryName,通过指定用到的类指明用到的VC编译器
我们项目用的是.net2003
必须安装在C:\Program Files\Microsoft Visual Studio .NET 2003
这点很是奇怪在编译org.codehaus.mojo.natives.msvc.MSVC2003EnvFactory类中是写死了的,不想只能改java文件重编译
同样VC6,2005也是装在C:\Program Files\下


提醒:
同时安装两个编译器在C:\Program Files\会出错,以前我们项目有VC6,和2003的子项目,2003子项目虽然指定了编译器但仍会用VC6的cl.exe进行编译.
---compilerStartOptions,编译指令,就是cl.exe后面的参数,
---linkerStartOptions,连接指令,就是link.exe后面的参数,

...待续
评论
地方疙瘩人 2007-12-05
引用
那你们用maven有没有结合Continuum持续集成?

看到你的提问感到自己真是孤陋寡闻,听都没听说过
沧海遗梦 2007-12-05
那你们用maven有没有结合Continuum持续集成?
地方疙瘩人 2007-12-04
引用
不知道你们有没有自己开发maven的插件呢?

我们项目没用到,以前照apache上的写过一个简单的列子,记得很奇怪,注解也有用就那个 @goal sayhi
沧海遗梦 2007-12-04
编译C++文件的plugin是maven-
??没写完的吧?
地方疙瘩人 ,不知道你们有没有自己开发maven的插件呢?
发表评论

您还没有登录,请登录后发表评论