나는 C++ 라이브러리가 (retdec-CPP)와 비주얼 스튜디오 2015를 사용하고 (나는 비주얼 스튜디오 2015 프로젝트에서이 라이브러리를 사용하려면이 특정 버전을 Cmake 3.10.0내가 만든 cmake
를 사용하여 설치 필요하다). 디버그 및 릴리스를 별도로 빌드해야하므로 this guide을 따랐습니다.
project(prog CXX)
cmake_minimum_required(VERSION 3.6)
find_package(Threads)
set(RETDEC_SRC_DIR "C:/Users/kkkkk/Desktop/retdec-cpp")
set(RETDEC_BUILD_DIR "C:/Users/kkkkk/Desktop/retdec-cpp/build")
#added :
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin")
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib")
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib")
#
include_directories(SYSTEM "${RETDEC_SRC_DIR}/include")
link_directories(
"${RETDEC_BUILD_DIR}/debug/src/retdec"
"${RETDEC_BUILD_DIR}/debug/third_party/src/cpp-netlib-build/libs/network/src"
"${RETDEC_BUILD_DIR}/debug/src/json-cpp-build/src/lib_json"
"${RETDEC_BUILD_DIR}/release/src/retdec"
"${RETDEC_BUILD_DIR}/release/third_party/src/cpp-netlib-build/libs/network/src"
"${RETDEC_BUILD_DIR}/release/src/json-cpp-build/src/lib_json"
)
add_executable(prog prog.cpp)
target_link_libraries(
retdec
boost_filesystem
boost_system
boost_thread
boost_chrono
boost_date_time
boost_atomic
ssl
crypto
cppnetlib-uri
cppnetlib-client-connections
jsoncpp
${CMAKE_THREAD_LIBS_INIT}
)
때 :이 그것이 지금의 모습
는 지금은 Cmake를 사용하여 내 비주얼 스튜디오 프로젝트에서 ++ 라이브러리이 C를 사용하려면,하지만 난 CmakeLists.txt
을 쓰는 데 문제
LNK1104 : 나는이 오류를 표시에 유지, 비주얼 스튜디오를 구축 파일을 열 수 없습니다 retdec.lib
뭔가 잘못에 분명히 있습니다 내 CMakeLists.
Cmake를 사용하여 Visual Studio 2015 프로젝트에이 라이브러리를 포함하려면 어떻게해야합니까?
링크 디렉토리 중 하나에'retdec.lib'이 있습니까? 나는 그것이 사실 이길 것이라고 기대하지 않는다. 대신 소스 폴더처럼 보입니다. – drescherjm
기존 대상에 대해 target_link_libraries를 호출해야합니다. 즉, 첫 번째 인수로'prog'를 사용하여 호출해야합니다. – vre
해당 라이브러리가 폴더에있는 경우 32 비트와 64 비트가 혼합되어있을 수 있습니다. – drescherjm