zoukankan      html  css  js  c++  java
  • 为android编译libsocket的脚本

    #!/bin/bash
    U32=0 #编译64位arm时 U32=0   编译32位arm时 U32=1 其他参数不需要变动
    TARGET=android-24
    HOST=darwin-x86_64
    TOOL=aarch64-linux-android #arm-linux-androideabi  aarch64-linux-android

    ARCH=arch-arm64 #arch-arm arch-arm64
    if [ $U32 -ne 0 ]; then
        echo "32位arm"
        TOOL=arm-linux-androideabi
        ARCH=arch-arm
    fi
    TOOLCHAIN=$TOOL-4.9

    export NDK_ROOT=/Users/musictom/Library/Android/sdk/ndk-bundle/
    export SYSROOT="$NDK_ROOT/platforms/$TARGET/$ARCH"
    export CPPFLAGS="-I$NDK_ROOT/platforms/$TARGET/$ARCH/usr/include -I$NDK_ROOT/toolchains/$TOOLCHAIN/prebuilt/$HOST/user/include"
    export LDFLAGS="-L$NDK_ROOT/platforms/$TARGET/$ARCH/usr/lib --sysroot=$SYSROOT"

    rm -f *.so *.o
    $NDK_ROOT/toolchains/$TOOLCHAIN/prebuilt/$HOST/bin/$TOOL-gcc -Wall -fPIC -O2 -c ../c/inet/libinetsocket.c $CPPFLAGS
    $NDK_ROOT/toolchains/$TOOLCHAIN/prebuilt/$HOST/bin/$TOOL-gcc -Wall -fPIC -O2 -c ../c/unix/libunixsocket.c $CPPFLAGS
    $NDK_ROOT/toolchains/$TOOLCHAIN/prebuilt/$HOST/bin/$TOOL-gcc -shared -o libsocket.so libinetsocket.o libunixsocket.o $LDFLAGS
    rm -f *.o

    cp *.so $NDK_ROOT/toolchains/$TOOLCHAIN/prebuilt/$HOST/user/lib/
    mkdir $NDK_ROOT/toolchains/$TOOLCHAIN/prebuilt/$HOST/user/include/socket
    cp ../headers/*.hpp $NDK_ROOT/toolchains/$TOOLCHAIN/prebuilt/$HOST/user/include/socket/
    cp ../headers/*.h $NDK_ROOT/toolchains/$TOOLCHAIN/prebuilt/$HOST/user/include/socket/

    参考https://github.com/gcesarmza/curl-android-ios/blob/master/curl-compile-scripts/build_Android.sh

  • 相关阅读:
    C puzzles详解【51-57题】
    C puzzles详解【46-50题】
    C puzzles详解【38-45题】
    C puzzles详解【34-37题】
    C puzzles详解【31-33题】
    C puzzles详解【26-30题】
    C puzzles详解【21-25题】
    C puzzles详解【16-20题】
    使用C++模板实现栈的求最小值功能
    模拟求幂运算,考虑的已经很周全了
  • 原文地址:https://www.cnblogs.com/yuanxiaoping_21cn_com/p/6685080.html
Copyright © 2011-2022 走看看