交叉编译libcurl时候找不到openssl动态库问题

需要交叉编译libcurl,需要依赖openssl跟zlib。
编译libcurl时候出现libssl.so.1.1找不到问题。
源码官网:
https://curl.se/download.html
https://www.openssl.org/source/
https://www.openssl.org/source/

以下流程:

1.交叉编译openssl:

./config no-asm shared no-async --prefix=/home/cdr/work/third-party/openssl --cross-compile-prefix=arm-linux-gnueabihf-
make;make install

2.交叉编译zlib

./configure --prefix=/home/work/third-party/zlib --shared
修改makefile添加交叉编译工具(将CC,CPP等改为交叉编译工具链)
CC=arm-linux-gcc

CFLAGS=-O3 -D_LARGEFILE64_SOURCE
### 交叉编译 libcurl 支持 HTTPS 的配置方法 为了使 libcurl 库能够支持 HTTPS 协议,在交叉编译过程中需要引入 OpenSSL 或其他 SSL/TLS 实现库的支持。以下是详细的配置和操作说明: #### 1. 安装依赖项 在目标平台上,确保已经安装了必要的工具链以及 OpenSSL 开发包。如果尚未构建 OpenSSL,则需先完成其交叉编译并指定路径供后续使用。 对于 OpenSSL交叉编译,可以参考如下命令[^4]: ```bash ./config --cross-compile-prefix=<your-toolchain-path>/bin/<target>-gcc \ --prefix=<output-directory> make && make install ``` 其中 `<your-toolchain-path>` 是您的交叉编译器所在目录,`<target>` 表示目标架构(如 `mips-linux-gnu`),而 `<output-directory>` 则定义了最终输出文件的位置。 #### 2. 配置 libcurl 构建环境 当 OpenSSL 成功编译完成后,接下来设置 libcurl 的 configure 脚本参数来启用 SSL 功能和支持特定协议。下面是一个典型的例子[^3]: ```bash ./configure --prefix=<install-path> \ --host=<target-triplet> \ CC=<path-to-cross-compiler-gcc> \ --with-ssl=<openssl-install-dir> \ --enable-shared \ --enable-static \ --disable-dict \ --disable-ftp \ CPPFLAGS="-I<openssl-header-path>" \ LDFLAGS="-L<openssl-library-path>" \ LIBS="-ldl -lssl -lcrypto" ``` 具体解释各选项含义如下: - `--prefix`: 设置安装路径。 - `--host`: 明确主机三元组形式的目标平台描述符 (e.g., aarch64-rockchip-linux-gnu)。 - `CC`: 提供完整的 GCC 工具链可执行程序名称及其绝对位置。 - `--with-ssl`: 告知 configure 使用哪个版本的 openssl;这里应指向之前生成好的本地实例地址。 - 其他禁用某些功能 (`dict`, `ftp`) 和开启共享/静态链接模式的选择依据实际需求调整即可。 #### 3. 执行编译与安装 一旦所有准备工作就绪之后,就可以继续进行常规流程中的下一步骤——即通过调用 Makefile 来启动整个项目的组装工作流: ```bash make sudo make install ``` 这一步可能会花费一些时间视乎机器性能高低不等。成功结束后将会看到新创建出来的二进制文件夹结构里面包含了所需的动态(.so)/静态(.a)库文件连同头文档一起被部署到了预定的目的地中去了[^2]. 最后验证一下成果吧! 将刚才产生的产物复制粘贴至嵌入式设备内部相应区域后再尝试发起简单的网络请求看看效果怎样呢? 只要一切正常的话, 下面这样的指令应该能顺利返回网页内容而不是报错啦: ```bash curl -v https://www.baidu.com ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值