CMake "Could NOT find OpenSSL" with MSYS2/mingw64 on Windows



我正在尝试使用mingw64MSYS2在Windows上编译此项目,并且在运行cmake .时,我将获得以下输出:

-- Selecting Windows SDK version 10.0.17763.0 to target Windows 10.0.16299.
-- Build type: Release
-- Source of Randomness: random_device
CMake Error at C:/msys64/mingw64/share/cmake-3.13/Modules/FindPackageHandleStandardArgs.cmake:137 (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) (found
  version "1.1.1b")
Call Stack (most recent call first):
  C:/msys64/mingw64/share/cmake-3.13/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
  C:/msys64/mingw64/share/cmake-3.13/Modules/FindOpenSSL.cmake:412 (find_package_handle_standard_args)
  CMakeLists.txt:10 (find_package)

我已经安装了OpenSSL,如:

证明
$ which openssl
/mingw64/bin/openssl
$ openssl version
OpenSSL 1.1.1b  26 Feb 2019

和Openssl_crypto_library似乎正在寻找的是/mingw64/lib/libcrypto.a/mingw64/lib/libcrypto.dll.a

真正让我循环的是在CMAKE错误消息中说"找到版本1.1.1b",因此很明显它可以找到它。任何人都有有关如何解决此错误的建议?

结果,我需要将-G "Unix Makefiles"添加到我的cmake命令中。默认情况下,它正在生产Visual Studio Solutions/Projects,这不是您在MingW中想要的,并且通过添加此标志可以找到OpenSSL文件。

最新更新