繁体   English   中英

手臂架构编译库

[英]compiling library for arm architecture

我想知道如何交叉编译用于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编译器

您需要为架构的工具链提供host参数,例如对于arm-1808 ,它基本上具有arm架构,host参数将是arm-none-linux。 我对我的体系结构使用了以下configure命令,该命令已成功编译,并且能够在我的主板上运行该应用程序。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM