OpenSSL 3.0.0 包含文件差异官方发布 conan vs github

OpenSSL 3.0.0 include files difference official release conan vs github

我正在用 C++ 为 Windows、Linux 和 Android 构建一个应用程序。与许多第三方依赖项一样,windows 和 linux 二进制文件可以在柯南(我用于 dep 管理)上找到,但 Android 不是。这通常不是什么大问题,从源代码构建一个额外的库。但是对于 OpenSSL 我怀疑官方 conan center registry differs from the official 3.0.0 source released on github.

上的 3.0.0 版本

一个非常简单的差异就足够了:

diff /path/to/.conan/data/openssl/3.0.0/_/_/package/<hash>/include/openssl
     /path/to/Downloads/openssl-openssl-3.0.0/include/openssl

Only  in /path/to/.conan/data/openssl/3.0.0/_/_/package/<hash>/include/openssl/: asn1.h
Only in /path/to/Downloads/openssl-openssl-3.0.0/include/openssl/: asn1.h.inOnly in /path/to/.conan/data/openssl/3.0.0/_/_/package/<hash>/include/openssl/: asn1t.h
Only in /path/to/Downloads/openssl-openssl-3.0.0/include/openssl/: asn1t.h.in
Only in path/to/.conan/data/openssl/3.0.0/_/_/package/<hash>/include/openssl/: bio.h
Only in /path/to/Downloads/openssl-openssl-3.0.0/include/openssl/: bio.h.in
Only in /path/to/.conan/data/openssl/3.0.0/_/_/package/<hash>/include/openssl/: cmp.h
Only in /path/to/Downloads/openssl-openssl-3.0.0/include/openssl/: cmp.h.in
diff /path/to/.conan/data/openssl/3.0.0/_/_/package/<hash>/include/openssl/cmperr.h /path/to/Downloads/openssl-openssl-3.0.0/ds/openssl-openssl-3.0.0-beta1/openssl-openssl-3.0.0-beta1/include/openssl/cmperr.h
64d63
< #  define CMP_R_MISSING_CERTID                             165
105d103
< #  define CMP_R_WRONG_CERTID                               189
Only in /path/to/.conan/data/openssl/3.0.0/_/_/package/<hash>/include/openssl/: cms.h
Only in /path/to/Downloads/openssl-openssl-3.0.0/include/openssl/: cms.h.in
Only in /path/to/.conan/data/openssl/3.0.0/_/_/package/<hash>/include/openssl/: conf.h
Only in /path/to/Downloads/openssl-openssl-3.0.0/include/openssl/: conf.h.inOnly in /path/to/.conan/data/openssl/3.0.0/_/_/package/<hash>/include/openssl/: configuration.h
...

应该是相等的吧?不是。 什么版本的 OpenSSL 上传到柯南?如何获得匹配的 Android 版本? 还是我也必须经历为 Windows 和 Linux 构建的麻烦?

对于您正在下载的版本,它看起来像是 3.0.0-beta1,而 ConanCenter 打包 3.0.0。事实上,测试版没有定义 CMP_R_MISSING_CERTID 而发布的版本有。也许这只是版本不匹配?差异很大 https://github.com/openssl/openssl/compare/openssl-3.0.0-beta1...openssl-3.0.0,它包含您在 cmperr.h 文件中报告的那些更改。