-2
CMake를 사용하는 Mac의 CLion에서 CPPREST SDK를 사용하려고합니다. 거의 다 해요,하지만 난 다음 링커 오류를 해결할 수없는 것 : 나는 -lssl 및 -lcrypto을 지정하지만, 여전히이 "스레드 상태"오류가 발생했습니다Mac에서 CMake를 사용하는 CLion의 CPPREST SDK
Undefined symbols for architecture x86_64:
"_ERR_remove_thread_state", referenced from:
boost::asio::ssl::detail::openssl_init_base::do_init::~do_init() in PongRemote.cpp.o
. 몇 가지 연구 결과에 따르면 OpenSSL에서 오는 것처럼 보입니다. CPPREST 설치에는 Homebrew를 사용했습니다.
말 그대로 단지 주에 이것을 테스트 한 기본 포함 :
project(cpprest)
cmake_minimum_required(VERSION 3.8)
set(CMAKE_CXX_STANDARD 14)
# BOOST PACKAGE
find_package(Boost REQUIRED COMPONENTS
atomic
chrono
date_time
exception
filesystem
random
regex
serialization
system
thread
)
include_directories(${Boost_INCLUDE_DIRS})
IF (!Boost_FOUND)
MESSAGE("*** ERROR *** Boost package not found")
RETURN()
ENDIF()
# Microsoft RESTful API Package (Casablanca)
set(CPPREST_LIBRARIES "/usr/local/opt/openssl/lib")
include_directories("/usr/local/opt/openssl/include")
# Compile and link
# Build the core library and executable
include_directories(${CMAKE_SOURCE_DIR})
set(SOURCE_FILES
main.cpp
)
set(LINK_LIBRARIES
${Boost_LIBRARIES}
${CPPREST_LIBRARIES}
-lssl
-lcrypto
)
add_executable(${PROJECT_NAME} ${SOURCE_FILES})
target_link_libraries(${PROJECT_NAME} ${LINK_LIBRARIES})
가능한 중복 (https://stackoverflow.com/questions/12573816/what-is-an-undefined-reference -unresolved-external-symbol-error-and-do-do-i-fix) – user0042
나는 그것을 검사했다. 나는 문자 그대로 단지 메인을 포함하고 있습니다 : #include #include –