Jump to content

Recommended Posts

Posted

Решения следующих ошибок при сборке проекта в 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)


 

image.png

  • Mr.Anders0n changed the title to [РЕШЕНИЕ] Ошибки при сборке CMAKE

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.