Mr.Anders0n Posted July 31, 2024 Posted July 31, 2024 Решения следующих ошибок при сборке проекта в CMAKE; 1. Quote OPENSSL_LIB_SSL_RELEASE-NOTFOUND;OPENSSL_LIB_CRYPTO_RELEASE-NOTFOUND;debug;OPENSSL_LIB_SSL_DEBUG-NOTFOUND;OPENSSL_LIB_CRYPTO_DEBUG-NOTFOUND 2. Quote OPENSSL_LIB_SSL_RELEASE (ADVANCED) linked by target "authserver" in directory D:/server_wow/skyfire_548/src/server/authserver linked by target "worldserver" in directory D:/server_wow/skyfire_548/src/server/worldserver 3. Quote CMake Warning at src/server/authserver/CMakeLists.txt:78 (target_link_libraries): Target "authserver" requests linking to directory "C:/Program Files/MySQL/MySQL Server 9.0/lib". Targets may link only to libraries. CMake is dropping the item. 3. Quote CMake Error: The following variables are used in this project, but they are set to NOTFOUND. Please set them or make sure they are set and tested correctly in the CMake files: OPENSSL_LIB_CRYPTO_DEBUG (ADVANCED) linked by target "authserver" in directory D:/server_wow/skyfire_548/src/server/authserver linked by target "worldserver" in directory D:/server_wow/skyfire_548/src/server/worldserver OPENSSL_LIB_CRYPTO_RELEASE (ADVANCED) linked by target "authserver" in directory D:/server_wow/skyfire_548/src/server/authserver linked by target "worldserver" in directory D:/server_wow/skyfire_548/src/server/worldserver OPENSSL_LIB_SSL_DEBUG (ADVANCED) linked by target "authserver" in directory D:/server_wow/skyfire_548/src/server/authserver linked by target "worldserver" in directory D:/server_wow/skyfire_548/src/server/worldserver 4. Quote (FATAL_ERROR "OpenSSL not found.") . 5. Quote OPENSSL_LIB_CRYPTO_RELEASE-NOTFOUND.lib 6. Quote Ошибка LNK1181 не удается открыть входной файл "libssl.lib" worldserver D:\server_wow\Build\src\server\worldserver\LINK 1 7. Quote OPENSSL_LIB_DIR - C:/Program Files/OpenSSL-Win64/lib/VC/x64/MD CMake Error at cmake/macros/FindOpenSSL.cmake:191 (file): file STRINGS file "C:/Program Files/OpenSSL-Win64/openssl/opensslv.h" cannot be read. Call Stack (most recent call first): CMakeLists.txt:56 (find_package) Решение Необходимо добавить информацию в переменные среды (PATH) 1. Имя MYSQL_LIBRARY значение C:\Program Files\MySQL\MySQL Server 9.0\lib\libmysql.lib (Место расположение MYSQL Server) 2. Имя MYSQL_ROOT значение C:\Program Files\MySQL\MySQL Server 9.0\bin 3. Имя OPENSSL_CRYPTO_LIBRARY значение C:\Program Files\OpenSSL-Win64\lib\VC\x64\MD\libcrypto.lib 4. Имя OPENSSL_INCLUDE_DIR значение C:\Program Files\OpenSSL-Win64\include 5. Имя OPENSSL_ROOT_DIR значение C:\Program Files\OpenSSL-Win64 6. Имя OPENSSL_SSL_LIBRARY значение C:\Program Files\OpenSSL-Win64\lib\VC\x64\MD\openssl.lib И самое главное - если 6 пунктов не помоги, то мы изменяем CMAKELIST.txt (который лежит в корне skyfire_548), ОБЯЗАТЕЛЬНО ПРОВЕРЬТЕ РАСПОЛОЖЕНИЯ ФАЙЛОВ ПО УКАЗАННЫМ ПУТЯМ В CMAKELIST.txt Quote cmake_minimum_required(VERSION 3.28.0) project(Project_Skyfire) cmake_policy(SET CMP0074 NEW) set(CMAKE_DISABLE_SOURCE_CHANGES ON) set(CMAKE_DISABLE_IN_SOURCE_BUILD ON) set(CMAKE_SKIP_BUILD_RPATH 0) set(CMAKE_BUILD_WITH_INSTALL_RPATH 0) set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib") set(CMAKE_INSTALL_RPATH_USE_LINK_PATH 1) set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/macros") if( NOT CMAKE_BUILD_TYPE ) message(STATUS "Setting build type to 'Release' as none was specified.") set(CMAKE_BUILD_TYPE "Release") endif() include(CheckCXXSourceRuns) include(CheckIncludeFiles) include(cmake/options.cmake) if( NOPCH ) set(USE_COREPCH 0) set(USE_SCRIPTPCH 0) endif() include(CheckPlatform) set(OPENSSL_EXPECTED_VERSION 3.3.1) set(ACE_EXPECTED_VERSION 6.4.5) find_package(PCHSupport) find_package(ACE REQUIRED) # Настройка OpenSSL find_library(OPENSSL_CRYPTO_LIBRARY NAMES libcrypto PATHS "C:/Program Files/OpenSSL-Win64/lib/VC/x64/MD") find_library(OPENSSL_SSL_LIBRARY NAMES libssl PATHS "C:/Program Files/OpenSSL-Win64/lib/VC/x64/MD") find_library(OPENSSL_LEGACY_LIBRARY NAMES liblegacy PATHS "C:/Program Files/OpenSSL-Win64/lib/VC/x64/MD") find_path(OPENSSL_INCLUDE_DIR NAMES openssl/ssl.h PATHS "C:/Program Files/OpenSSL-Win64/include") if(OPENSSL_CRYPTO_LIBRARY AND OPENSSL_SSL_LIBRARY AND OPENSSL_INCLUDE_DIR) message(STATUS "Found OpenSSL include dir: ${OPENSSL_INCLUDE_DIR}") message(STATUS "Found OpenSSL SSL library: ${OPENSSL_SSL_LIBRARY}") message(STATUS "Found OpenSSL Crypto library: ${OPENSSL_CRYPTO_LIBRARY}") message(STATUS "Found OpenSSL Legacy library: ${OPENSSL_LEGACY_LIBRARY}") else() message(FATAL_ERROR "OpenSSL not found!") endif() #конец find_package(Threads REQUIRED) set(MYSQL_LIBRARY "C:/Program Files/MySQL/MySQL Server 9.0/lib/libmysql.lib") message(STATUS "MYSQL_LIBRARY: ${MYSQL_LIBRARY}") find_package(MySQL REQUIRED) if( UNIX ) find_package(Readline) find_package(ZLIB) find_package(BZip2) endif() if(NOT WITHOUT_GIT) find_package(Git) endif() include(cmake/genrev.cmake) include(cmake/showoptions.cmake) add_subdirectory(dep) add_subdirectory(src) Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.