地方疙瘩人 发表于 2013-2-5 00:48:21

Maven工作总结(二) 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后面的参数,

...待续
页: [1]
查看完整版本: Maven工作总结(二) maven编译C++项目