交叉编译libcurl库遇到的 Unable to link function recv 错误解决办法

libcurl error: Unable to link function recv

最近在Android上交叉编译libcurl库, 遇到` Unable to link function recv `, 但是同样的脚本, 在同事电脑上跑的好好的, 尴尬...这种环境问题是最烦人的了....

搜了下, 找到如下sof, 说这个函数 `-lz , which is the flag to link the zlib`.

https://stackoverflow.com/questions/44343570/cross-compiling-libcurl-for-arm-linux-gnueabihf-unable-to-link-function-recv

 

忽然想到前两天编译android源码, 手动下载安装了zlib, 于是`./configure; make; make uninstall`卸载zlib, 在重新编译便ok了.

成功提示如下:

checking for recv... yes
checking types of args and return type for recv... int,void *,size_t,unsigned int,int

 

 

这里给两个排bug的小tip:

set -x 显示执行的bash命令.

出错后, 找到config.log, 查看详细错误信息.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 ARM 平台上进行 libcurl交叉编译,您可以按照以下步骤进行操作: 1. 安装交叉编译工具链:首先,您需要安装针对 ARM 平台的交叉编译工具链。这个工具链包含了针对 ARM 架构的编译器和相关工具。您可以从工具链供应商或者开发板厂商的官方网站上获取适用于您的平台的工具链,并按照其提供的说明进行安装。 2. 下载 libcurl 源代码:您可以从 libcurl 的官方网站上下载适用于 ARM 平台的 libcurl 源代码。 3. 配置 libcurl 编译选项:解压缩 libcurl 源代码后,进入源代码目录,并执行以下命令进行配置: ``` ./configure --host=<交叉编译工具链前缀> ``` `<交叉编译工具链前缀>` 是您安装的交叉编译工具链的前缀,例如 arm-linux-gnueabihf、aarch64-linux-gnu 等。 4. 编译 libcurl:配置完成后,执行 `make` 命令开始编译 libcurl。 5. 安装 libcurl:编译完成后,执行 `make install` 命令将 libcurl 安装到指定的目录中。 6. 在交叉编译环境中使用 libcurl:将交叉编译后的 libcurl 文件和头文件复制到交叉编译环境中。然后,在您的项目中配置交叉编译工具链的路径和 libcurl 的路径,并链接 libcurl 。 7. 进行交叉编译:使用交叉编译工具链对您的项目进行编译。确保在编译过程中正确链接 libcurl ,并将生成的可执行文件拷贝到 ARM 平台上进行测试和部署。 请注意,具体的步骤可能会因您的目标平台和工具链而有所不同。建议参考相关文档和资源以获取更详细的信息。 希望对您有所帮助!如果您还有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值