由于www.example.com文件,使用CMake外部项目在Windows 10中安装openssl 3.0.5失败config.com

31moq8wy  于 2022-11-24  发布在  Windows
关注(0)|答案(1)|浏览(125)

我试图在外部项目中安装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)
1sbrub3j

1sbrub3j1#

我在上面的例子中使用了config作为配置命令。但是./config脚本是Openssl团队的一个遗留脚本,它在1.x版本上使用。这只支持基于Unix的操作系统。因为它不能很好地与windows操作系统一起工作。(我不知道为什么Openssl团队仍然保留它。)
对于最新版本,建议使用配置脚本。这在windows(perl Configure)和unix(./Configure)中都能正常工作

相关问题