Windows 平台编译时cmake无法识别OpenSSL
FumbleBumbleD opened this issue · comments
报错内容:
CMake Error at E:/lots_of_APP/cmake-3.29.0-rc2-windows-x86_64/share/cmake-3.29/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) (found
version "3.2.1")
Call Stack (most recent call first):
E:/lots_of_APP/cmake-3.29.0-rc2-windows-x86_64/share/cmake-3.29/Modules/FindPackageHandleStandardArgs.cmake:600 (_FPHSA_FAILURE_MESSAGE)
E:/lots_of_APP/cmake-3.29.0-rc2-windows-x86_64/share/cmake-3.29/Modules/FindOpenSSL.cmake:668 (find_package_handle_standard_args)
src/CMakeLists.txt:3 (find_package)
我们之前发现过OpenSSL 3.2在WIndows平台上的问题,所以我们在Windows分支ci里,强行指定了OpenSSL版本为3.1.1:3f4fef0
不过,我们当时遇到的是链接问题,不是找不到库。你能不能写一个和workflow无关的程序,先解决一下找不到OpenSSL库的问题?
cmake中新建项目,在CMakeList中加入find_package(OpenSSL REQUIRED),Build项目也是同一个报错。看来是Cmake和OpenSSL没找到的问题。。我再看看。。
这是cmake识别到的变量结果:
CMake Warning at CMakeLists.txt:14 (message):
OPENSSL_VERSION:
CMake Warning at CMakeLists.txt:15 (message):
OPENSSL_INCLUDE_DIR: E:/lots_of_APP/OpenSSL-Win64/include
CMake Warning at CMakeLists.txt:16 (message):
OPENSSL_LIBRARIES:
似乎是由于OpenSSL以及Cmake的版本不对应,导致cmake找不到OpenSSL的version还有Library,(但不知道为什么可以找到include文件)请问应该使用什么版本的Cmake,(OpenSSL改为3.1.1)的话
我找到的类似问题帖子:https://stackoverflow.com/questions/43662998/cmake-can-not-find-openssl-on-windows
Cmake版本应该无所谓的,我们没见过由于Cmake版本太新找不到OpenSSL的问题。
Windows平台我们支持力量不够,不少新功能也一直没有同步过去。建议装个WSL 2运行Linux版本。
我也遇到这类问题
CMake Error at D:/Program Files/CMake/share/cmake-3.29/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)
(Required is at least version "1.1.0")
Call Stack (most recent call first):
D:/Program Files/CMake/share/cmake-3.29/Modules/FindPackageHandleStandardArgs.cmake:600 (_FPHSA_FAILURE_MESSAGE)
D:/Program Files/CMake/share/cmake-3.29/Modules/FindOpenSSL.cmake:668 (find_package_handle_standard_args)
CMakeLists.txt:101 (find_package)
版本cmake gui和openssl版本和你一样,无论怎么设置依然没有办法识别。最后把openssl 降低为1.1.1w才可以
我也遇到这类问题
CMake Error at D:/Program Files/CMake/share/cmake-3.29/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) (Required is at least version "1.1.0") Call Stack (most recent call first): D:/Program Files/CMake/share/cmake-3.29/Modules/FindPackageHandleStandardArgs.cmake:600 (_FPHSA_FAILURE_MESSAGE) D:/Program Files/CMake/share/cmake-3.29/Modules/FindOpenSSL.cmake:668 (find_package_handle_standard_args) CMakeLists.txt:101 (find_package)
版本cmake gui和openssl版本和你一样,无论怎么设置依然没有办法识别。最后把openssl 降低为1.1.1w才可以
感谢回复!更换OpenSSL版本至1.1.1可解决问题。