0
我有一個C++庫(retdec-CPP),這是我建立並使用安裝CMake的3.10.0使用Visual Studio 2015的cmake
我想在一個Visual Studio 2015的項目中使用這個庫(此特定版本是需要的)。我知道需要單獨構建調試和發佈,因此我遵循this guide。
現在我想用這個c。使用CMake的++庫在我的Visual Studio項目,但我有寫作的CMakeLists.txt
麻煩這是怎麼它現在看起來:
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}
)
當我建立它在Visual Studio中,它不斷上顯示此錯誤:
LNK1104:無法打開文件retdec.lib
顯然有一些錯誤的,我CMakeLists。
如何在使用Cmake的Visual Studio 2015項目中包含此庫?
「retdec.lib」在你的鏈接目錄之一中嗎?我不希望事實如此。它們看起來像源文件夾。 – drescherjm
您需要爲現有目標調用target_link_libraries,即您應該用'prog'作爲第一個參數來調用它。 – vre
如果該文件夾存在於該文件夾中,可能是混合了32位和64位。 – drescherjm