2

ARMアーキテクチャ用のライブラリをクロスコンパイルする方法を知りたいです。Intelアーキテクチャ用のlibcurlライブラリがあり、このライブラリを使用してARMアーキテクチャでアプリケーションを実行したいとします。このクロスコンパイルのために実行する必要のある手順は何ですか。Ubuntu32ビットマシンを使用しています。私は次のような基本的な手順を実行しました

./configure --host= ...
make 
make install 

しかし、完全なアイデアを得ることができませんでした。役立つリンクを提供するか、誰かが物事を説明できるかどうかを教えてください。どんな助けでも大歓迎です。

SOにはすでに「http://stackoverflow.com/questions/5832734/cross-compiling-a-library-from-intel-to-arm」という投稿があることは知っていますが、これ。

プラットフォーム:linux、gccコンパイラ

4

1 に答える 1

2

アーキテクチャのツールチェーンにホスト パラメータを指定する必要があります。たとえば、基本的にアーム アーキテクチャを持つarm-1808の場合、ホスト パラメータは arm-none-linux になります。アーキテクチャに次の構成コマンドを使用したところ、正常にコンパイルされ、アーム ボードでアプリケーションを実行できました。

0.

ツール チェーンが PATH にない場合は、次のようなコマンドで含めることができます。

 export PATH=/home/user/CodeSourcery/Sourcery_G++_Lite/bin/:$PATH

1.

./configure --host=arm-none-linux-gnueabi --build=i686-linux CFLAGS='-Os' --with-ssl=/usr/bin/openssl --enable-smtp

2.

make

3.

sudo make install  

4.アプリケーションをビルドします。

  arm-none-linux-gnueabi-gcc -o email smtp-multi.c -I/usr/local/include -L/usr/local/lib -lcurl

基本的に、アプリケーションのコンパイル中に CPP フラグと CF フラグを指定する必要があります。CF フラグと CPP フラグを見つけるには、それぞれ次のコマンドを使用できます。

curl-config --cflags  

curl-config --libs

上記のコマンドが機能しない場合は、次を試してください。

arm-none-linux-gnueabi-gcc -o email smtp-multi.c -lcurl
于 2012-07-18T11:19:01.713 に答える