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