日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

libnghttp2 NDK 交叉编译

發布時間:2025/3/15 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 libnghttp2 NDK 交叉编译 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

移植nghttp2到android

創建工作目錄,并進入

12mkdir androidcd android

clone源碼

1git clone git@github.com:nghttp2/nghttp2.git

生成交叉編譯工具鏈

1$ANDROID_NDK/build/tools/make-standalone-toolchain.sh --arch=arm --install-dir=./toolchain

導出環境變量

123456export CURRENT_HOME=`pwd`export TOOLCHAIN=$CURRENT_HOME/toolchainexport PATH=$TOOLCHAIN/bin:$PATHexport PKG_CONFIG_LIBDIR=$TOOLCHAIN/lib/pkgconfigexport CPPFLAGS="-fPIE -I$TOOLCHAIN/sysroot/usr/include"export LDFLAGS="-fPIE -pie -I$TOOLCHAIN/sysroot/usr/lib"

編譯并安裝

123456789cd nghttp2autoreconf -i./configure --enable-lib-only \--host=arm-linux-androideabi \--build=`dpkg-architecture -qDEB_BUILD_GNU_TYPE` \--disable-shared \--prefix="$TOOLCHAIN/sysroot/usr/local"makemake install

卸載

1make uninstall

何大仙提供的shell腳本

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576#!/bin/shif [! -d "nghttp2" ]; thengit clone git@github.com:nghttp2/nghttp2.gitelsecd nghttp2git pullcd ..fi# envif [-d "out/nghttp2" ]; thenrm -fr "out/nghttp2"fimkdir "out"mkdir "out/nghttp2"_compile() { SURFIX=$1 TOOL=$2 ARCH_FLAGS=$3 ARCH_LINK=$4 ARCH=$5 if [! -d "out/nghttp2/${SURFIX}" ]; thenmkdir "out/nghttp2/${SURFIX}"fi if [! -d "toolchain_${SURFIX}" ]; then $ANDROID_NDK/build/tools/make-standalone-toolchain.sh --arch=${ARCH} --install-dir=./toolchain_${SURFIX}fi export CURRENT_HOME=`pwd` export TOOLCHAIN=$CURRENT_HOME/toolchain_${SURFIX} export PATH=$TOOLCHAIN/bin:$PATH export PKG_CONFIG_LIBDIR=$TOOLCHAIN/lib/pkgconfig export ARCH_FLAGS=$ARCH_FLAGS export ARCH_LINK=$ARCH_LINK export CPPFLAGS="-fPIE -I$TOOLCHAIN/sysroot/usr/include" export LDFLAGS="-fPIE -pie -I$TOOLCHAIN/sysroot/usr/lib"cd nghttp2/autoreconf -i./configure --enable-lib-only --host=${TOOL} --build=`dpkg-architecture -qDEB_BUILD_GNU_TYPE` --disable-shared --prefix="$TOOLCHAIN/sysroot/usr/local"make cleanmake -j4make installcd ..mv nghttp2/lib/.libs/libnghttp2.a out/nghttp2/${SURFIX}/}# arm_compile "armeabi" "arm-linux-androideabi" "-mthumb" "" "arm"# armv7_compile "armeabi-v7a" "arm-linux-androideabi" "-march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16" "-march=armv7-a -Wl,--fix-cortex-a8" "arm"# arm64v8_compile "arm64-v8a" "aarch64-linux-android" "" "" "arm64"# x86_compile "x86" "i686-linux-android" "-march=i686 -m32 -msse3 -mstackrealign -mfpmath=sse -mtune=intel" "" "x86"# x86_64_compile "x86_64" "x86_64-linux-android" "-march=x86-64 -m64 -msse4.2 -mpopcnt -mtune=intel" "" "x86_64"# mips_compile "mips" "mipsel-linux-android" "" "" "mips"# mips64_compile "mips64" "mips64el-linux-android" "" "" "mips64"echo "done"

http://fucknmb.com/2017/05/24/libnghttp2-NDK%E4%BA%A4%E5%8F%89%E7%BC%96%E8%AF%91/

總結

以上是生活随笔為你收集整理的libnghttp2 NDK 交叉编译的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。