?準備工作
請依照這篇文章搭建環境
OpenHarmony 開源鴻蒙南向開發——linux下使用make交叉編譯第三方庫——環境配置_openharmony交叉編譯-CSDN博客
下載
wget https://gmplib.org/download/gmp/gmp-6.3.0.tar.xz
解壓
tar -xf gmp-6.3.0.tar.xzcd gmp-6.3.0/
環境變量
export OHOS_SDK=/home/vtstar/Desktop/openharmony/sdk/sdk_linux_5.0.0.71 ## 配置SDK路徑,此處需配置成自己的sdk解壓目錄
export AS=${OHOS_SDK}/native/llvm/bin/llvm-as
export CC="${OHOS_SDK}/native/llvm/bin/clang --target=arm-linux-ohos" ## 32bit的target需要配置成 --target=arm-linux-ohos
export CXX="${OHOS_SDK}/native/llvm/bin/clang++ --target=arm-linux-ohos" ## 32bit的target需要配置成 --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" ## 32bit需要增加配置 -march=armv7a
export CXXFLAGS="-fPIC -D__MUSL__=1 -march=armv7a" ## 32bit需要增加配置 -march=armv7a
配置make
./configure --host=arm-linux-gnueabihf --prefix=$(pwd)/build
配置完成
編譯
make
編譯成功
安裝
make install
編譯成功
編譯結果
編譯后的文件就在當前目錄下的build目錄下可以找到,lib下是動態庫,include下是頭文件