2012-05-17 55 views
1

我想知道如何跨ARM編譯ARM架構的庫。假設我有用於Intel架構的libcurl庫,現在我想使用這個庫在ARM架構中運行應用程序。我需要爲這個交叉編譯執行什麼步驟。我正在使用Ubuntu 32位機器。 我已經完成基本步驟,走了樣用於arm架構的編譯庫

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

,但無法獲得完整的想法。請提供一些有用的鏈接,或者是否有人可以解釋這些事情。任何幫助將不勝感激。

我知道這裏有一個帖子,這已經是「http://stackoverflow.com/questions/5832734/cross-compiling-a-library-from-intel-to-arm」,但我沒有得到由此澄清的事情。

平臺:Linux,gcc編譯器

+0

make install?檢查:你知道這不會讓你的胳膊二進制運行在英特爾? – dbrank0

+0

您可能想要添加DESTDIR來進行安裝。 http://www.gnu.org/prep/standards/html_node/DESTDIR.html – Fabel

回答

0

你需要給工具鏈爲你的架構主機參數,例如用於arm-1808基本上具有ARM架構,主機參數是手臂,沒有Linux的。我對我的架構使用了以下configure命令,並且它已成功編譯,並且能夠在我的手臂板上運行該應用程序。

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

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

如果工具鏈是不是在你的PATH,那麼你可以用這樣的命令,包括它2.

make 

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