linux - 为arm架构编译库

标签 linux cross-platform arm cross-compiling

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

最佳答案

您需要为您的架构的工具链提供主机参数,例如 arm-1808它基本上具有arm架构,主机参数将是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

关于linux - 为arm架构编译库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10630547/

相关文章:

java - 从 Eclipse 导出的 jar 适用于 Linux,但不适用于 Windows

c# - 屏幕保护程序如何在 Mac OS X 和 Linux 上工作?

c++ - Eclipse CDT 显示...未解决 ARM neon 内在函数的错误,但生成二进制文件

ios - 用于图像处理的 arm asm/neon 优化

Linux 用户空间 PCI 驱动程序

linux - AWK--比较两个不同文件中两个变量的值

python - 使用 DseAuthenticator 和 DseAuthorizer 从 Windows 将 python 连接到 cassandra 集群

.net - Mono 是否足够强大以进行严肃的企业开发?

linux - 使Apache2在json中提供目录索引

c - 如何在 32 位地址空间内分配缓冲区?