使用Maven NAR插件对ARM进行交叉编译
Cross compile for ARM using Maven NAR Plugin
我正试图在Debian/Ubuuntu上使用Maven NAR插件为x86/amd64和ARM构建一个C++应用程序。我很难为使用ARM-linux-gnueabi-gcc的ARM交叉编译构建设置正确的配置文件。
pom.xml中的配置文件片段如下:
<profile>
<id>arm-linux-cross</id>
<properties>
<debug.option>true</debug.option>
</properties>
<build>
<plugins>
<plugin>
<groupId>com.github.maven-nar</groupId>
<artifactId>nar-maven-plugin</artifactId>
<configuration>
<arch>arm</arch>
<cpp>
<name>arm-linux-gnueabi-g++</name>
<options>
<option>-march=armv5</option>
</options>
</cpp>
<linker>
<name>arm-linux-gnueabi-gcc</name>
<sysLibs>
<sysLib>
<name>stdc++</name>
</sysLib>
...
</sysLibs>
</linker>
</configuration>
</plugin>
</plugins>
</build>
</profile>
使用"mvn-compile-p arm-linux-cross"构建该配置文件不起作用:
[INFO] Using AOL: amd64-Linux-arm-linux-gnueabi-gcc
[INFO] ------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------
[INFO] Total time: 1.464s
[INFO] Finished at: Fri Feb 13 11:00:05 CET 2015
[INFO] Final Memory: 10M/147M
[INFO] -----------------------------------------------------------
[ERROR] Failed to execute goal com.github.maven-nar:nar-maven-plugin:3.0.0:nar-validate (default-nar-validate) on project sirka-model: Cannot find version number for linker 'arm-linux-gnueabi-gcc' -> [Help 1]
显然,此处使用的AOL不可用,因此Maven无法识别编译器/链接器。但是我如何添加所需的AOL?或者还有其他方法可以将ARM与Maven进行交叉编译吗?
最近有人为NAR插件添加了基本的ARM支持。但AOL只是arm-Linux-gcc
——我不知道你上面的gnueabi
是从哪里来的。
如果NAR插件的标准ARM设置不适合您,您可以尝试使用自己的变体。下面是一个定义自己的自定义AOL属性的示例项目。
相关文章:
- Visual Studio 2017 ARM 交叉编译链接器崩溃
- Qt 模块(QtSerialPort)在Qt定制构建中找不到(针对ARM交叉编译)
- 如何为在 x86 主机上为 arm 目标交叉编译的项目安装依赖项
- GCC ARM 交叉编译,像未定义的引用"__cxa_end_catch@CXXABI_1.3"这样的错误表示什么?
- 如何使用 arm-linux-gcc 交叉编译 gmock
- OpenCV v3.3.1 ARM 交叉编译失败:找不到CMAKE_CXX_COMPILER
- 在 ubuntu 上交叉编译 openCV for ARM
- 如何设置CMake与clang进行Windows嵌入式ARM的交叉编译
- ARM与旧的glibc交叉编译
- ARM 的交叉编译:对'__fdelt_chk@GLIBC_2.15'的未定义引用
- 交叉编译用于ARM的MongoDB C++驱动程序.找不到Boost库
- 交叉编译错误"arm-none-eabi-g++ cannot find entry symbol"
- C++/QT/ARM处理器的交叉编译/编程
- 交叉编译 ARM 的 Qt 时出错
- Boost arm交叉编译失败
- arm的交叉编译
- 使用Maven NAR插件对ARM进行交叉编译
- 用于ARM体系结构的交叉编译portaudio
- 交叉编译ActiveMQ for ARM
- 为基于Arm的pandboard - es交叉编译设置Eclipse IDE的问题