2

Debian/Ubuntu で 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 をクロスコンパイルする別の方法はありますか?

4

1 に答える 1

3

最近、誰かが基本的な ARM サポートを NAR プラグインに追加しました。しかし、AOL はただ— 上記がどこから来たarm-Linux-gccのかわかりません。gnueabi

NAR プラグインの標準 ARM 設定が機能しない場合は、独自のバリエーションを使用してみてください。独自のカスタム AOL プロパティを定義するプロジェクトの例を次に示します。

于 2015-02-19T20:01:31.760 に答える