当初科长看中Maven就是考虑到Maven能编译C++项目;
用到的是native-maven-plugin,与maven-native-msvc-1.0-alpha-2.jar
pom.xml build写法
[code]
<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>
[/code]
---envFactoryName,通过指定用到的类指明用到的VC编译器
[u]我们项目用的是.net2003
必须安装在C:\Program Files\Microsoft Visual Studio .NET 2003
这点很是奇怪在编译org.codehaus.mojo.natives.msvc.MSVC2003EnvFactory类中是写死了的,不想只能改java文件重编译
同样VC6,2005也是装在C:\Program Files\下[/u]
[b]
提醒:
[/b]同时安装两个编译器在C:\Program Files\会出错,以前我们项目有VC6,和2003的子项目,2003子项目虽然指定了编译器但仍会用VC6的cl.exe进行编译.
---compilerStartOptions,编译指令,就是cl.exe后面的参数,
---linkerStartOptions,连接指令,就是link.exe后面的参数,
...待续
用到的是native-maven-plugin,与maven-native-msvc-1.0-alpha-2.jar
pom.xml build写法
[code]
<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>
[/code]
---envFactoryName,通过指定用到的类指明用到的VC编译器
[u]我们项目用的是.net2003
必须安装在C:\Program Files\Microsoft Visual Studio .NET 2003
这点很是奇怪在编译org.codehaus.mojo.natives.msvc.MSVC2003EnvFactory类中是写死了的,不想只能改java文件重编译
同样VC6,2005也是装在C:\Program Files\下[/u]
[b]
提醒:
[/b]同时安装两个编译器在C:\Program Files\会出错,以前我们项目有VC6,和2003的子项目,2003子项目虽然指定了编译器但仍会用VC6的cl.exe进行编译.
---compilerStartOptions,编译指令,就是cl.exe后面的参数,
---linkerStartOptions,连接指令,就是link.exe后面的参数,
...待续
本文介绍了如何使用Maven的native-maven-plugin插件来编译C++项目,重点讨论了配置pom.xml的细节,包括compilerProvider、envFactoryName等设置,并提醒在.NET 2003环境下安装多个编译器可能导致的问题。
9677

被折叠的 条评论
为什么被折叠?



