2

オペレーティング システムを使用せずに、powerpc 組み込みシステムで単純なプログラムを実行しようとしています。GNU コンパイラー・リンカー・ツールと PSIM をシミュレーターとして使用しています。独自の非常に単純なリンカー ディレクティブ ファイルを作成しました。

静的ライブラリでグローバル変数を使用しており、その変数をサンプル プログラムで使用したいと考えています。しかし、サンプル プログラム GNU ld をリンクすると、エラーが発生して停止します。リンカ ディレクティブ ファイルに rela.dyn が見つからないというメッセージが表示されます。実際、動的ローダーを持っていないため、動的に再配置可能なライブラリを使用したくありません。私は何を間違っていますか?

4

2 に答える 2

1

詳しい情報がないとなんとも言えません。基盤となる OS がない場合、プラットフォーム ランタイムでのリンクを回避するために -ffreestanding を使用しましたか?

編集: -ffreestanding には -shared が必要ですか? -ffreestanding は、ホストされていない環境にコンパイルすることを意味します。このような環境で共有ライブラリをサポートするにはどうすればよいでしょうか?

于 2009-09-02T14:14:12.440 に答える
0

-ソーラーが言うように、自立しています。それが失敗した場合は、 --verbose オプションを指定して ld を実行し、何をリンクしようとしているのかを正確に確認します。これにより、さらにデバッグできるようになります。

于 2009-09-03T23:55:32.883 に答える