私はC++のライブラリを持っている(retdec-CPP)、とのVisual Studio 2015を使用して(私は、Visual Studio 2015のプロジェクトでこのライブラリを使用するこの特定のバージョンをCMakeの3.10.0私が構築cmakeの
を使用してインストール必要です)。私は、デバッグとリリースを別々にビルドする必要があることを理解しているので、私はthis guideを追跡しました。
今、私はcmakeのを使用して、私のVisual Studioプロジェクトでは、このC++ライブラリを使用したいが、私はこのそれは今どのように見えるか
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}
)
LNK1104:私は、このエラーを表示し続け、Visual Studioでそれを構築することができますファイルを開けませんretdec.lib
間違った何かがで明らかにあり、私のCMakeLists。
Cmakeを使用してVisual Studio 2015プロジェクトにこのライブラリを含めるにはどうすればいいですか?
あなたのリンクディレクトリの1つに 'retdec.lib'がありますか?私はそれが事実であるとは思わないでしょう。代わりにソースフォルダのように見えます。 – drescherjm
既存のターゲットに対してtarget_link_librariesを呼び出す必要があります。つまり、最初の引数として 'prog'を使用して呼び出す必要があります。 – vre
そのライブラリがフォルダ内に存在する場合は、32ビットと64ビットが混在している可能性があります。 – drescherjm