私の環境はarm-linux-androideabi(東芝AC100ではAndroid 2.2)です。gccとldの異なるバージョンを混在させることはできますか?
- 4.4.3(Android NDK on Android)
- 4.6.0(R + GCC on Android)
問題I:私は私の環境のためのGCCコンパイラの2セットを持っている(デバイス上の別の場所に設置) gd-4.6.0が実行されるたびにsegfaultsが実行されます(ただし、すべてのタスクが正常に実行され、終了時におそらくexitルーチンでsegfaultするだけです)。ld-4.4.3とar-4.4.3は実行に失敗します私の環境。一方、ld-4.6.0とar-4.6.0と同様、gcc-4.4.3もうまく動作します。
したがって、私が4.4.3を使ってconfigureを実行した場合、configureテストプログラムが正常にコンパイルされても、gcc segfaultsがゼロ以外の値を返すため、configureステップで失敗します139)。しかし、4.6.0でconfigureを実行すると、configureはうまく動作しますが、ビルド(make all
)はリンクと静的ライブラリ作成時に悲惨に失敗します。
私の質問は以下のとおりです。
- は、それは私のオブジェクトファイル(
gcc-4.4.3 -c input.c
)をコンパイルするGCC-4.4.3を使用して、LD-4.6.0(ld-4.6.0 -o input input.o -lc
)とリンクすることは可能ですか?つまり、私は問題のあるバイナリを削除し、作業バイナリの組み合わせを使ってプロジェクトをビルドします。 - 警告がある場合、それらは何ですか?
試してみませんでしたが、どのライブラリ(ヘッダー)がコンパイラを使用し、どのリンカーがリンクするのだろうと思います。おそらくあなたはそれらに言わなければならないでしょう... – dbrank0
私はこの質問を投稿するとすぐに、私はそれを試して見たことがあることを実感しました。しかし、あなたのコメントが示すように、私が調べる必要がある多くの警告があります。 – Samveen