2

我想知道如何交叉编译 ARM 架构的库。假设我有 Intel 架构的 libcurl 库,现在我想使用这个库在 ARM 架构中运行应用程序。我需要为此交叉编译执行哪些步骤。我正在使用 Ubuntu 32 位机器。我已经完成了基本步骤,例如

./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 架构的arm-1808 ,主机参数将是 arm-none-linux。我为我的架构使用了以下配置命令,它编译成功,我可以在我的 arm 板上运行应用程序。

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 回答