三、android编译cmake工程

现在我们需要编译我们自己的程序,我们自己的程序中使用了openssl的函数,这样就形成了一个库引用库的过程,这个通了就基本都通了。

1.cmake版本问题

如果你使用的cmake版本在3.6.0以上就没有这个问题,如果你使用的低于这个版本当你想要编译的cmake工程时会报错

CMake Error at /home/renz/android/AndroidWorkSpace/NDK_Tools/android-ndk-r21/build/cmake/android.toolchain.cmake:35 (cmake_minimum_required):
  CMake 3.6.0 or higher is required.  You are running version 3.5.1
Call Stack (most recent call first):
  /usr/share/cmake-3.5/Modules/CMakeDetermineSystem.cmake:98 (include)
  CMakeLists.txt:6 (project)

这时你需要更新你的cmake工具
https://cmake.org/download/
选择Binary distributions:可以直接下载生成好的工具,不需要自己编译
如果觉得下载速度慢可以尝试http://www.cmake.org/files下载
我下载cmake-3.17.0-Linux-x86_64.tar.gz
解压tar xvf cmake-3.17.0-Linux-x86_64.tar.gz
cmake路径为/home/renz/android/cmake-3.17.0-Linux-x86_64/bin

renz@media-Lenovo-Product:~/android/cmake-3.17.0-Linux-x86_64/bin$ /home/renz/android/cmake-3.17.0-Linux-x86_64/bin/cmake -version
cmake version 3.17.0

CMake suite maintained and supported by Kitware (kitware.com/cmake).

有了新版本的cmake之后就可以开始编译我们的mylib-sample工程了。

mylib-sample源码下载https://download.csdn.net/download/andylauren/12292340

github源码下载https://github.com/RTplay/android-ndk-sample
需要修改build.sh脚本中的CMAKE_BIN变量为自己的cmake
需要修改CMakeLists.txt中OPENSSL_INCLUDE_PATH,OPENSSL_LIB_PATH分别是openssl的头文件路径和库路径

2.工程内容

就是封装了MD5接口。输入字符串,输出MD5字符串

3.编译工程

./build.sh 
会在工程同级目录有lib文件夹,其中有多个文件夹arm64-v8a  armeabi-v7a  x86  x86_64

这时我们就拥有了需要的openssl和mylib-sample库。

参考博文

Android下openssl编译和使用(一)
https://blog.csdn.net/zoujin6649/article/details/89891720
Android下openssl编译和使用(二)(验证ok,但是需要修改)
https://blog.csdn.net/zoujin6649/article/details/89949176
使用clang编译openssl1.1.1d
https://blog.csdn.net/u011077027/article/details/102713175
Ubuntu16.04升级cmake到3.11.3
https://www.wandouip.com/t5i137471/
 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值