OpenHarmony 开源鸿蒙南向开发——linux下使用make交叉编译第三方库——gnutls

准备工作

请依照这篇文章搭建环境

OpenHarmony 开源鸿蒙南向开发------linux下使用make交叉编译第三方库------环境配置_openharmony交叉编译-CSDN博客

编译依赖

分别需要编译gmp、nettle、libunistring、libtasn、gettext

上述库可在历史文章中自行查找

下载

复制代码
wget ftp://ftp.gnutls.org/gcrypt/gnutls/v3.5/gnutls-3.5.9.tar.xz

解压

复制代码
tar -xf gnutls-3.5.9
cd gnutls-3.5.9
mkdir build

环境变量

这里要更换一下依赖库的目录

复制代码
export OHOS_SDK=/home/vtstar/Desktop/openharmony/sdk/sdk_linux_5.0.0.71
export AS=${OHOS_SDK}/native/llvm/bin/llvm-as
export CC="${OHOS_SDK}/native/llvm/bin/clang --target=arm-linux-ohos"
export CXX="${OHOS_SDK}/native/llvm/bin/clang++ --target=arm-linux-ohos"
export LD=${OHOS_SDK}/native/llvm/bin/ld.lld
export STRIP=${OHOS_SDK}/native/llvm/bin/llvm-strip
export RANLIB=${OHOS_SDK}/native/llvm/bin/llvm-ranlib
export OBJDUMP=${OHOS_SDK}/native/llvm/bin/llvm-objdump
export OBJCOPY=${OHOS_SDK}/native/llvm/bin/llvm-objcopy
export NM=${OHOS_SDK}/native/llvm/bin/llvm-nm
export AR=${OHOS_SDK}/native/llvm/bin/llvm-ar
export CFLAGS="-fPIC -D__MUSL__=1 -march=armv7a -I/home/vtstar/Desktop/openharmony/ThirtyPartRestore/Libunistring/out/32/build/include -I/home/vtstar/Desktop/openharmony/ThirtyPartRestore/nettle/out/32/build/include -I/home/vtstar/Desktop/openharmony/ThirtyPartRestore/libtasn/out/32/build/include -I/home/vtstar/Desktop/openharmony/ThirtyPartRestore/gmp/out/32/include -I/home/vtstar/Desktop/openharmony/ThirtyPartRestore/gettext/out/32/build/include"
export CXXFLAGS="-fPIC -D__MUSL__=1 -march=armv7a   -I/home/vtstar/Desktop/openharmony/ThirtyPartRestore/Libunistring/out/32/build/include -I/home/vtstar/Desktop/openharmony/ThirtyPartRestore/nettle/out/32/build/include -I/home/vtstar/Desktop/openharmony/ThirtyPartRestore/libtasn/out/32/build/include -I/home/vtstar/Desktop/openharmony/ThirtyPartRestore/gmp/out/32/include -I/home/vtstar/Desktop/openharmony/ThirtyPartRestore/gettext/out/32/build/include"
export LDFLAGS="-L/home/vtstar/Desktop/openharmony/ThirtyPartRestore/gmp/out/32/lib -L/home/vtstar/Desktop/openharmony/ThirtyPartRestore/Libunistring/out/32/build/lib -L/home/vtstar/Desktop/openharmony/ThirtyPartRestore/nettle/out/32/build/lib -L/home/vtstar/Desktop/openharmony/ThirtyPartRestore/libtasn/out/32/build/lib -L/home/vtstar/Desktop/openharmony/ThirtyPartRestore/Libunistring/out/32/build/lib -L/home/vtstar/Desktop/openharmony/ThirtyPartRestore/gettext/out/32/build/lib"      

配置make

复制代码
./configure --host=arm-linux-gnueabihf --prefix=$(pwd)/build --without-p11-kit

配置完成

编译

复制代码
make -j4

编译成功

安装

复制代码
make install
相关推荐
小王不爱笑13210 小时前
IO 模型
开发语言·python
短剑重铸之日10 小时前
《ShardingSphere解读》07 读写分离:如何集成分库分表+数据库主从架构?
java·数据库·后端·架构·shardingsphere·分库分表
知我Deja_Vu10 小时前
【避坑指南】ConcurrentHashMap 并发计数优化实战
java·开发语言·python
AI+程序员在路上10 小时前
CANopen 协议:介绍、调试命令与应用
linux·c语言·开发语言·网络
2401_8318249610 小时前
基于C++的区块链实现
开发语言·c++·算法
m0_5180194811 小时前
C++与机器学习框架
开发语言·c++·算法
ZTLJQ11 小时前
深入理解逻辑回归:从数学原理到实战应用
开发语言·python·机器学习
qq_4176950511 小时前
C++中的代理模式高级应用
开发语言·c++·算法
daidaidaiyu11 小时前
Spring IOC 源码学习 事务相关的 BeanDefinition 解析过程 (XML)
java·spring
波波00711 小时前
每日一题:.NET 中的“反射”是什么?
开发语言·.net