CMake "Не удалось найти OpenSSL" с MSYS2 / mingw64 в Windows - PullRequest
0 голосов
/ 13 марта 2019

Я пытаюсь скомпилировать этот проект в Windows, используя MSYS2 с mingw64, а при запуске 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», поэтому ясно, что он может ее найти. У кого-нибудь есть предложения по устранению этой ошибки?

1 Ответ

1 голос
/ 13 марта 2019

Оказывается, мне нужно было добавить -G "Unix Makefiles" к моей команде cmake. По умолчанию он создавал решения / проекты для Visual Studio, а это не то, что вам нужно в mingw, и, добавив этот флаг, он смог найти файлы openssl.

...