• 如果觉得本站的内容有帮助,可以考虑打赏博主哦!

  • 本站由于前段时间遭受到大量临时和国外邮箱注册,所以对可注册的邮箱类型进行了限制!

  • 工资「喂饱肚子」,副业「养活灵魂」!

  • 问题反馈可发送邮件到stubbornhuang@qq.com

  • 计算机图形学与计算几何经典必备书单整理,下载链接可参考:https://www.stubbornhuang.com/1256/

  • 本站会放置Google广告用于维持域名以及网站服务器费用。

  • 在本站开通年度VIP,无限制下载本站资源和阅读本站文章

  • 欢迎大家交换友链,可在https://www.stubbornhuang.com/申请友情链接进行友链交换申请!

  • 感谢大家访问本站,希望本站的内容可以帮助到大家!

Windows交叉编译Crypto++ Android库

编程技术 发布于2023-12-08 阅读 2,455次 0次评论 0次点赞 本文共1777个字,阅读需要5分钟。

1 Crypto++不支持CMake编译

Crypto官网:https://www.cryptopp.com/

Crypto++ github:https://github.com/weidai11/cryptopp

从Crypto++官网或者github下载的发布包本身是不支持CMake编译的,里面就没有CMakeLists.txt文件,不过github中这个仓库:https://github.com/abdes/cryptopp-cmake 提供了Crypto++8.7 - 8.9版本的CMake编译支持,如果需要更老的版本也可以看这个仓库:https://github.com/noloader/cryptopp-cmake,这个仓库提供了到Crypto++8.6的CMake编译支持。

本篇文章以https://github.com/abdes/cryptopp-cmake的写本文最新的Crypto++8.9如何在Windows上交叉编译Android库为例进行说明。

2 Windows上交叉编译Crypto++ Android库

2.1 拉取cryptopp-cmake最新仓库或者下载cryptopp-cmake最新的发布包

你可以使用git clone拉取cryptopp-cmake的最新仓库或者在它的Release下载最新的发布包,这里以8.9版本为例。

下载完成之后解压缩文件夹。

2.2 交叉编译Crypto++ Android库

假设你已经准备好windows上交叉编译Android项目的环境:

  • Android SDK
  • Android NDk
  • CMake
  • Ninja

然后在解压缩的文件根目录cryptopp-cmake-CRYPTOPP_8_9_0下新建一个名为build_android.bat的windows批处理文件,在文件中新增以下内容

@REM abi=armeabi armeabi-v7a arm64-v8a mips mips64 x86 x86_64
set abi=arm64-v8a
set ANDROID_SDK_HOME=F:/Software/Android/AndroidSDK/SDK
set ANDROID_NDK_HOME=F:/Software/Android/AndroidSDK/SDK/ndk/25.1.8937393
set ANDROID_SDK_CMAKE=%ANDROID_SDK_HOME%/cmake/3.22.1
set ANDROID_NATIVE_API_LEVEL=19
set ANDROID_PLATFORM=android-29
set BUILD_TYPE=Release
set GENERATOR="Ninja"

if not exist build md build
cd build

@REM build armeabi-v7a
if not exist %abi% md %abi%
cd %abi%

%ANDROID_SDK_CMAKE%/bin/cmake ^
  -DANDROID_ABI=%abi% ^
  -DANDROID_NDK=%ANDROID_NDK_HOME% ^
  -DCMAKE_BUILD_TYPE=%BUILD_TYPE% ^
  -DCMAKE_TOOLCHAIN_FILE=%ANDROID_NDK_HOME%/build/cmake/android.toolchain.cmake ^
  -DANDROID_PLATFORM=%ANDROID_PLATFORM% ^
  -DANDROID_NATIVE_API_LEVEL=%ANDROID_NATIVE_API_LEVEL% ^
  -DANDROID_TOOLCHAIN=clang ^
  -DCMAKE_GENERATOR=%GENERATOR% ^
  -DCMAKE_MAKE_PROGRAM=%ANDROID_SDK_CMAKE%/bin/ninja ^
  -DCRYPTOPP_BUILD_TESTING=FALSE ^
  ../../

%ANDROID_SDK_CMAKE%/bin/ninja

cd ../../

然后在命令行工具运行批处理文件,或者直接点击进行运行,等待编译完成。

2.3 库输出目录

编译成功之后,库路径为:cryptopp-cmake-CRYPTOPP_8_9_0\build\arm64-v8a\cryptopp\libcryptopp.a

欢迎扫码关注我的微信公众号,及时获取文章更新

微信公众号二维码

本文作者:StubbornHuang

版权声明:本文为站长原创文章,如果转载请注明原文链接!

原文标题:Windows交叉编译Crypto++ Android库

原文链接:https://www.stubbornhuang.com/2907/

发布于:2023年12月08日 14:22:17

修改于:2023年12月08日 14:22:17

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

文章末尾
上一篇
Windows使用CMake交叉编译Android项目
编程技术
下一篇
GPU共享
模型部署
当前分类随机文章推荐

发表评论

您必须 [ 登录 ] 才能发表留言!

关注我们的公众号

微信公众号