Я кодирую программу шифрования для образовательных целей.
Я использую openssl в качестве библиотеки шифрования. Проблема в том, что я хочу создать исполняемый файл, который может работать в системах без установленного openssl. Для этого мне нужно связать openssl статически.
Я использую cmake_list для сборки.
Как только я добавляю флаг OPENSSL_USE_STATIC_LIBS
TRUE
, я получаю ошибки компоновщика ...
Я пытался собрать openssl из исходников и передать его команде find_package, но это все равно дает мне ошибку компоновщика для всех заголовков openssl.
'''c++
cmake_minimum_required(VERSION 3.13)
project(encryption_test)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(OPENSSL_ROOT_DIR /usr/local/ssl)
set(OPENSSL_USE_STATIC_LIBS TRUE)
find_package(OpenSSL REQUIRED)
include_directories(
include/)
add_executable(${PROJECT_NAME}
src/main.cpp)
target_link_libraries(${PROJECT_NAME}
stdc++fs
OpenSSL::SSL)
'''
Ошибки похожи на:
undefined reference to 'pthread_rwlock_init'
Большое спасибо за любую помощь или идеи, как я могу это исправить!