我试图在外部项目中安装openssl使用CMake在ubuntu,android和Windows。它在ubuntu工作正常。但在Windows中,它失败与以下行
Performing configure step for 'openssl_external'
This version of D:\17-6-2022\main\src\external\openssl\config.com is not compatible with the version of Windows you're running. Check your computer's system information and then contact the software publisher.
看起来这个问题是与config.com文件不支持在windows 10。不知道如何修复它,因为上述错误可能与架构的变化。我的系统是windows 64和这个openssl 3.0.5是创建lib64文件夹在我的ubuntu。
我已经添加了用于配置和安装的CMake命令:
set(OPENSSL_INSTALL_DIR ${CMAKE_BINARY_DIR}/install)
set(OPENSSL_INCLUDE_DIR ${OPENSSL_INSTALL_DIR}/include)
set(OPENSSL_LIB_DIR ${OPENSSL_INSTALL_DIR}/lib)
set(OPENSSL_DATA_DIR ${OPENSSL_INCLUDE_DIR}/openssl-data)
set(OPENSSL_CONFIGURE_COMMAND ${CMAKE_CURRENT_LIST_DIR}/config)
ExternalProject_Add(
openssl_external
PREFIX openssl
SOURCE_DIR "${CMAKE_CURRENT_LIST_DIR}"
CONFIGURE_COMMAND ${OPENSSL_CONFIGURE_COMMAND}
--prefix=${OPENSSL_INSTALL_DIR}
--openssldir=${OPENSSL_DATA_DIR}
--libdir=${OPENSSL_LIB_DIR}
no-shared
BUILD_COMMAND make
TEST_COMMAND ""
INSTALL_COMMAND make install
INSTALL_DIR ${OPENSSL_INSTALL_DIR}
BUILD_IN_SOURCE 0)
1条答案
按热度按时间1sbrub3j1#
我在上面的例子中使用了config作为配置命令。但是./config脚本是Openssl团队的一个遗留脚本,它在1.x版本上使用。这只支持基于Unix的操作系统。因为它不能很好地与windows操作系统一起工作。(我不知道为什么Openssl团队仍然保留它。)
对于最新版本,建议使用配置脚本。这在windows(perl Configure)和unix(./Configure)中都能正常工作