欢迎访问我的网站,希望内容对您有用,感兴趣的可以加入免费知识星球。

curl 交叉编译

C/C++ 迷途小书童 11个月前 (01-10) 918次浏览 0个评论

环境

  • ubuntu 18.04 64bit
  • curl 7.87.0
  • arm-linux-gnueabihf

实操

到官网下载最新的压缩包 7.87.0 版本,https://curl.se/download.html,然后解压

tar xvf curl-7.87.0.tar.gz
cd curl-7.87.0

接下来准备下交叉编译工具链,这个一般是由方案厂家提供的,比如我这里用的是 /usr/local/linaro/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/,它的目录结构类似下面这样

curl

为了在 shell 中能够找到对应的编译命令,需要修改下系统环境变量 PATH

export PATH=/usr/local/linaro/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin:$PATH

设置完后,立马生效,且是一次性有效。如想长期有效,可以将上述 export 语句加入到 ~/.bashrc 文件末尾

最后来验证下环境,执行命令 arm-linux-gnueabihf-gcc -v

curl

接下来就开始编译 curl

./configure --target=arm-linux-gnueabihf --host=arm-linux-gnueabihf CC=/usr/local/linaro/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc --prefix=/home/longjing/xgx/curl-7.87.0/build
make 
make install

其中,

  • --target 是指交叉编译的目标平台
  • --host 是指编译后运行在哪个平台
  • --prefix 是指编译生成的文件存放的目录,如可执行文件、静态/动态库文件等
  • CC 是指交叉编译器

configure 可以添加很多的特性,大家根据自己的实际情况添加。编译完成后,build 文件夹目录结构是这样的

curl

这时候,如果想在对应方案的开发板上使用 curl 可执行程序,可以直接运行 bin/curl;如果是要基于 curl 做上层应用,将 includelib 文件夹放到自己的项目中就可以进行。

喜欢 (0)

您必须 登录 才能发表评论!

Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected!!!

请关闭 Adblock 等类似浏览器插件,然后刷新页面访问,感谢您的支持!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.