运行配置脚本使用Configure脚本配置 OpenSSL指定目标平台和安装路径curl downloads 各个版本Old 1.1.1 Releases | OpenSSL Library 各个版本从 OpenSSL 官网下载源码包tar -xzf openssl-1.1.1b.tar.gz cd openssl-1.1.1b/运行配置脚本使用Configure脚本配置 OpenSSL指定目标平台和安装路径./Configure linux-armv4 --prefix/home/lxh/arm-libs/install --cross-compile-prefixarm-linux-gnueabihf-./Configure linux-aarch64 \ --prefix/home/lxh/Downloads/rk356x_linux_release_v1.3.1/arm-libs/install \ --cross-compile-prefixaarch64-none-linux-gnu- \ sharedlinux-armv4指定目标平台为 ARM。--prefix指定安装路径替换为你的目标路径。--cross-compile-prefix指定交叉编译工具链前缀。调整配置可选如果需要调整配置可以编辑生成的Makefile例如修改CFLAGS和LDFLAGS以优化编译选项。确保-marcharmv7-a或-mcpucortex-a9等选项适合你的目标硬件。编译 OpenSSL编译源码运行以下命令开始编译make -j$(nproc)-j$(nproc)使用多核并行编译以加快速度。检查编译结果编译完成后检查生成的库文件和可执行文件file apps/openssl输出应显示为 ARM 架构的可执行文件。将编译好的 OpenSSL 安装到指定路径make install# 1. 创建安装目录 mkdir -p /home/lxh/Downloads/rk356x_linux_release_v1.3.1/arm-libs/install # 2. 查看目录权限 ls -ld /home/lxh/Downloads/rk356x_linux_release_v1.3.1/arm-libs/install # 3. 配置 OpenSSL cd ~/Downloads/openssl-1.1.1b ./Configure linux-aarch64 \ --prefix/home/lxh/Downloads/rk356x_linux_release_v1.3.1/arm-libs/install \ --cross-compile-prefixaarch64-none-linux-gnu- \ shared # 4. 编译 make clean make -j$(nproc) # 5. 安装会自动创建必要的子目录 make install # 6. 验证安装结果 ls -la /home/lxh/Downloads/rk356x_linux_release_v1.3.1/arm-libs/install/ ls -la /home/lxh/Downloads/rk356x_linux_release_v1.3.1/arm-libs/install/lib/ ls -la /home/lxh/Downloads/rk356x_linux_release_v1.3.1/arm-libs/install/include/下载并解压 curl 源码tar -xvjf curl-7.64.1.tar.bz2 cd curl-7.64.1使用configure脚本配置编译选项指定交叉编译工具链和目标平台./configure --hostarm-linux-gnueabihf --prefix/home/lxh/arm-libs/install \ --with-ssl/home/lxh/arm-libs/install \ --disable-ldap \ --disable-ldaps \ --without-libpsl \ --without-libidn2 \ --without-zstd \ --without-brotli \ --without-libpsl \ CCarm-linux-gnueabihf-gcc CXXarm-linux-gnueabihf-g./configure --hostaarch64-none-linux-gnu \ --prefix/home/lxh/Downloads/rk356x_linux_release_v1.3.1/arm-libs/install \ --with-ssl/home/lxh/Downloads/rk356x_linux_release_v1.3.1/arm-libs/install \ CCaarch64-none-linux-gnu-gcc \ CXXaarch64-none-linux-gnu-g--hostarm-linux-gnueabihf指定目标平台为 ARM。--prefix/home/lxh/arm-libs/install指定安装目录。--with-ssl和--with-zlib启用 SSL 和 zlib 支持。CC和CXX指定交叉编译器编译和安装make -j$(nproc) make install在 ARM 设备上运行curl验证是否正常工作。testcurl.c#include curl/curl.h int main(void) { CURL *curl; CURLcode res; curl_global_init(CURL_GLOBAL_DEFAULT); curl curl_easy_init(); if (curl) { curl_easy_setopt(curl, CURLOPT_URL, https://www.baidu.com); res curl_easy_perform(curl); if (res ! CURLE_OK) fprintf(stderr, curl_easy_perform() failed: %s\n, curl_easy_strerror(res)); curl_easy_cleanup(curl); } curl_global_cleanup(); return 0; }makefile# 交叉编译工具链 CC arm-linux-gnueabihf-gcc # curl 库的安装路径 CURL_DIR /home/lxh/arm-libs/install # 编译选项 CFLAGS -I$(CURL_DIR)/include LDFLAGS -L$(CURL_DIR)/lib -lcurl -lssl -lcrypto # 目标可执行文件 TARGET curl_example # 源文件 SRCS testcurl.c # 默认目标 all: $(TARGET) # 编译规则 $(TARGET): $(SRCS) $(CC) $(CFLAGS) -o $(TARGET) $(SRCS) $(LDFLAGS) # 清理 clean: rm -f $(TARGET)cd ~/Downloads/openssl-1.1.1b make clean make distclean ./Configure linux-aarch64 \ --prefix/home/lxh/Downloads/rk356x_linux_release_v1.3.1/arm-libs/install \ --cross-compile-prefixaarch64-none-linux-gnu- \ shared \ no-asm \ -fPIC make -j$(nproc) make install ls -la /home/lxh/Downloads/rk356x_linux_release_v1.3.1/arm-libs/install/lib/libssl.so* cd ~/Downloads/curl-7.64.1 # 完全清理 make distclean # 静态编译配置 ./configure --hostaarch64-none-linux-gnu \ --prefix/home/lxh/Downloads/rk356x_linux_release_v1.3.1/arm-libs/install \ --with-ssl/home/lxh/Downloads/rk356x_linux_release_v1.3.1/arm-libs/install \ --disable-ldap \ --disable-ldaps \ --enable-static \ --disable-shared \ CCaarch64-none-linux-gnu-gcc \ CXXaarch64-none-linux-gnu-g make -j$(nproc) make install # 验证 file /home/lxh/Downloads/rk356x_linux_release_v1.3.1/arm-libs/install/bin/curl