2017-02-17 13 views
0

Eclipse DS-5を使用してWindows 7でアルテラSoC(FPGA + ARM)のプロジェクトをクロスコンパイルしています。ツールチェーンは、アルテラのツールによって供給され、以下のように見えている:ライブラリを使用したクロスコンパイル

GCC C++ Compiler 4 [arm-linux-gnueabihf] 
GCC C Compiler 4 [arm-linux-gnueabihf] 
GCC Assembler 4 [arm-linux-gnueabihf] 
GCC C Linker 4 [arm-linux-gnueabihf] 
GCC C++ Linker 4 [arm-linux-gnueabihf] 
GCC Archiver 4 [arm-linux-gnueabihf] 

アルテラのSoCボードは、ARM上オングストロームのLinuxディストリビューションを実行しています。

コンパイルにライブラリを含めるには、いくつかのライブラリ(例:libcURL)を追加し、Eclipseプロジェクト設定を設定する必要があります。

わかりやすい: 図書館には一般に2つのコンポーネントが含まれています。ヘッダとライブラリ定義ファイル(バイナリ形式)。コンパイラにはヘッダファイルが必要です。リンカはライブラリファイルをリンクしています。

(上記のいずれかが間違っている場合は、私を修正してください)。

MY質問:

1)バイナリファイルがARMプロセッサ用に提供されていない場合は、私は、ARMコンパイラで私のWindows 7のマシン上のライブラリのソースコードをコンパイルするために、アルテラのツールを使用する必要がありますか? 私は、アルテラ提供のコンパイラ端末を使用して./configureを実行すると信じています。

2)libcURLのような広く使用されているライブラリの場合、プラットフォームごとにプリコンパイルされたバイナリがあります。コンパイルされたライブラリの外観はどうすればわかりますか? * .lib、* .a、* .h、...)

要約: 私はクロスコンパイルに困惑していますが、私はそうではありません。どのコンパイラが必要か、そしてどのライブラリファイルが必要なのかを確認してください。

cannot find -lcurl 

は、それはコンパイラが* .hファイルを見ることができるわけなく、リンカーは、バイナリファイルを見つけることができません:私が出会ってきた

最も一般的なエラーはありますか?

答えて

0

最後に、私は次のよう

私は私のターゲットプラットフォーム(アルテラDe_nano_SoC ARM)にライブラリのソースファイルをコピーして、そこライブラリ(オングストロームのLinux、コンパイラアームオングストローム-linuxの-gnueabi)をまとめました。これには、コンフィグレーションをライブラリフォルダに設定し、を実行すると、make installコマンドが実行されます。

コンパイルすると、ホストマシン(Windows 7)に出力ファイル(ヘッダー* .hとスタティックライブラリファイル* .aまたは共有ライブラリファイル* .so - コンパイル構成)がコピーされました。次に、Eclipse DS-5プロジェクトにファイルを追加しました。

Eclipseには、ヘッダファイル* .hと* .aまたは* .soファイルを含む.../libフォルダを含む.../includeフォルダのパスが必要です。

関連する問題