当前位置:   article > 正文

【Android音视频】MacOS上OpenSSL3.0.4编译_openssl 3 md4 编译 支持

openssl 3 md4 编译 支持

1. OpenSSL官网下载链接:

openssl源码下载链接icon-default.png?t=M5H6https://www.openssl.org/source/可以看到目前有两个版本的OpenSSL:

 2. 下载3.0.4版本压缩包,解压至自己想要的文件路径下即可。以下多步骤为雷同的做法,参考此文即可。【Android音视频】MacOS上FFmpeg5.0.1编译icon-default.png?t=M5H6https://blog.csdn.net/Taozi825232603/article/details/1254365133. 在该OpenSSL文件夹下创建编译脚本,可参考以下脚本(文件名自定义即可,例如 build_openssl.sh)。在编写脚本之前,请你打开目录下的Configure文件查看一下内容,这很有帮助。稍微快速的浏览,你会看到以下这段话:

  1. # All the "make variables" we support
  2. # Some get pre-populated for the sake of backward compatibility
  3. # (we supported those before the change to "make variable" support.
  4. my %user = (
  5. AR => env('AR'),
  6. ARFLAGS => [],
  7. AS => undef,
  8. ASFLAGS => [],
  9. CC => env('CC'),
  10. CFLAGS => [ env('CFLAGS') || () ],
  11. CXX => env('CXX'),
  12. CXXFLAGS => [ env('CXXFLAGS') || () ],
  13. CPP => undef,
  14. CPPFLAGS => [ env('CPPFLAGS') || () ], # -D, -I, -Wp,
  15. CPPDEFINES => [], # Alternative for -D
  16. CPPINCLUDES => [], # Alternative for -I
  17. CROSS_COMPILE => env('CROSS_COMPILE'),
  18. HASHBANGPERL=> env('HASHBANGPERL') || env('PERL'),
  19. LD => undef,
  20. LDFLAGS => [ env('LDFLAGS') || () ], # -L, -Wl,
  21. LDLIBS => [ env('LDLIBS') || () ], # -l
  22. MT => undef,
  23. MTFLAGS => [],
  24. PERL => env('PERL') || ($^O ne "VMS" ? $^X : "perl"),
  25. RANLIB => env('RANLIB'),
  26. RC => env('RC') || env('WINDRES'),
  27. RCFLAGS => [ env('RCFLAGS') || () ],
  28. RM => undef,
  29. );

4. 编写build_openssl.sh文件,大致可参考官方教程(NOTES-ANDROID.md文件),里面说在Linux平台下交叉编译是OK的,但是在别的平台并没测试过。那我们就稍微试试吧(其实用C编译器即可),此处我的测试用手机为 arm64-v8a,因此使用对应的配置参数 android-arm64

  1. #!/bin/bash
  2. export ANDROID_NDK_ROOT=/Users/tao/Library/Android/sdk/ndk/21.4.7075529
  3. export TOOLCHAIN=$ANDROID_NDK_ROOT/toolchains/llvm/prebuilt/darwin-x86_64
  4. export CROSS_COMPILE=$TOOLCHAIN/bin/
  5. API=28
  6. export CC=$TOOLCHAIN/bin/aarch64-linux-android$API-clang
  7. export CXX=$TOOLCHAIN/bin/aarch64-linux-android$API-clang++
  8. # note:
  9. # Redmi7(arm64-v8a)
  10. ARCH=arm64
  11. CPU=armv8-a
  12. PREFIX=$(pwd)/android/$CPU
  13. make clean
  14. function build_android
  15. {
  16. echo "Compile OpenSSL start."
  17. ./Configure \
  18. android-arm64 \
  19. -D__ANDROID_API__=$API \
  20. --prefix=$PREFIX
  21. make clean
  22. make -j8
  23. make install
  24. echo "Compile OpenSSL completed."
  25. }
  26. build_android

5. 开始编译OpenSSL。执行(本人将该文件名命名为 build_openssl.sh):

./build_openssl.sh

6. 编译完成后,可在该OpenSSL文件夹下看到 android 文件夹,里面有我们需要的 include 和 lib文件夹。


至此,OpenSSL3.0.4编译完成。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/198008
推荐阅读
相关标签
  

闽ICP备14008679号