Ubuntu22.04 交叉编译阿里oss c-sdk

一、交叉编译openssl

Ubuntu20.04 交叉编译openssl 1.0.1f_编译前去除 makefile 中所有的"-m64"字段_qq76211822的博客-CSDN博客文章浏览阅读319次。Ubuntu20.04 交叉编译openssl_编译前去除 makefile 中所有的"-m64"字段https://blog.csdn.net/sz76211822/article/details/127815993?spm=1001.2014.3001.5501

二、交叉编译curl

三、修改CMakeLists.txt

set(CMAKE_HOST_UNIX true)
set(CURL_INCLUDE_DIR /opt/huishi-rv1106/thirdpty/libcurl/include)
set(CURL_LIBRARY /opt/huishi-rv1106/thirdpty/libcurl/lib)
set(OPENSSL_INCLUDE_DIR /opt/huishi-rv1106/thirdpty/openssl/include)
set(OPENSSL_CRYPTO_LIBRARY /opt/huishi-rv1106/thirdpty/openssl/lib)
set(OPENSSL_SSL_LIBRARY /opt/huishi-rv1106/thirdpty/openssl/lib)

然后设置编译选项

四、修改sdk文件夹中的CMakeLists.txt

主要是编译时提示找不到openssl目录,故添加

target_include_directories(${PROJECT_NAME}${STATIC_LIB_SUFFIX}
    PRIVATE "/opt/huishi-rv1106/thirdpty/openssl/include")

 

五、编译

cmake \
-DCMAKE_AR=/opt/env_toolchain_0331/env/arm-rockchip830-linux-uclibcgnueabihf/bin/arm-rockchip830-linux-uclibcgnueabihf-ar \
-DCMAKE_CXX_COMPILER=/opt/env_toolchain_0331/env/arm-rockchip830-linux-uclibcgnueabihf/bin/arm-rockchip830-linux-uclibcgnueabihf-g++ \
-DCMAKE_C_COMPILER=/opt/env_toolchain_0331/env/arm-rockchip830-linux-uclibcgnueabihf/bin/arm-rockchip830-linux-uclibcgnueabihf-gcc \
..

六、输入指令make 

说明:

错误:Error running link command: No such file or directory

解决办法:增加set(CMAKE_AR  $(TOOLS_DIR)/build/1.7/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-ar CACHE FILEPATH "Archiver")。因在cmake 时指定了交叉编译器路径,故在外面指定CMAKE_AR

原因:查看编译的中间文件link.txt,发现是链接静态库的ar工具未设置成功(CMAKE_AR-NOTFOUND)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值