如何使用Android NDK 工具链编译openssl

1、gcc 的sysroot 选项

  sysroot 选项设定 gcc 在编译源码的时候,寻找头文件和库文件的根目录。可以这样调用 gcc --sysroot=/tmp/gcc-arm (及其他选项)。NDK 根目录下的 platforms 目录中的各个子目录的路径都可以直接传给 gcc --sysroot=<dir>。为了简化操作,可以在linux系统的命令终端执行以下命令,设置SYSROOT       环境变量,$NDK是ndk的根目录。

SYSROOT= S Y S R O O T = NDK/platforms/android-8/arch-arm

2、ndk编译
$NDK/build/tools/make-standalone-toolchain.sh –platform=android-21 –install-dir=/tmp/my-android-toolchain [ –arch=x86 ]

   将会在/tmp/my-android-toolchain 中创建 sysroot 环境和 工具链。--arch 选项选择目标程序的指令架构,默认是为 arm。

   如果不加 --install-dir 选项,则会创建 /tmp/ndk/<toolchain-name>.tar.bz2。

   (执行 make-standalone-toolchain.sh --help 查看帮助。)

   运行之后,这样使用:

   $ export PATH=/tmp/my-android-toolchain/bin:$PATH

   $ export CC=arm-linux-androideabi-gcc

   $ export CXX=arm-linux-androideabi-g++

   $ export CXXFLAGS="-lstdc++"

  执行完以上设置环境变量的命令之后,就可以直接编译了(例如,执行 ./configure 然后 make 得到的就是 arm 程序了)。不用再设定 sysroot, CC 了。而且,可以使用 STL,异常,RTTI。

问题:如何使用交叉编译工具链编译openssl
1、按照上述步骤设置编译工具为arm-linux-androideabi-gcc
2、由于编译openssl[openssl-1.0.2k]需要指定平台,首先需要配置平台
./Configure android-armv7
3、make [编译]
4、make install [将目标文件安装到指定的目录下]

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值