找不到 OpenSSL ... 缺少:OPENSSL_CRYPTO_LIBRARY

Could not find OpenSSL ... missing: OPENSSL_CRYPTO_LIBRARY

我正在尝试交叉编译 aws-sdk-cpp,但我第一次 运行 CMAKE 时收到以下错误。如果我 运行 它第二次编译和链接,我已经测试了应用程序,我确实可以使用 aws-sdk-cpp 功能。我找了又找了好几天,试了各种方法:

我在调用

之前打印 OPENSSL_ROOT_DIR 变量
find_package(OpenSSL REQUIRED) 

并打印出正确的路径。

我也将变量 OPENSSL_USE_STATIC_LIBS 设置为 TRUE,没有任何区别。 老实说,我不明白发生了什么,因为如果我 运行 它第二次构建和链接就很好。

CMake Error at /snap/cmake/1035/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
  Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the
  system variable OPENSSL_ROOT_DIR (missing: OPENSSL_CRYPTO_LIBRARY
  OPENSSL_INCLUDE_DIR) (found version "1.1.1n")
Call Stack (most recent call first):
  /snap/cmake/1035/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE)
  /snap/cmake/1035/share/cmake-3.22/Modules/FindOpenSSL.cmake:574 (find_package_handle_standard_args)
  Projects/libraries/aws/s3/crt/aws-crt-cpp/crt/aws-c-cal/CMakeLists.txt:89 (find_package)

好的,我明白发生了什么事了。

问题是我正在设置

的值
OPENSSL_INCLUDE_DIR
OPENSSL_CRYPTO_LIBRARY
OPENSSL_SSL_LIBRARY

一旦我删除它们,它就起作用了。