来自相对路径的Cmake目标链接库

lio*_*rko 5 c++ cmake

我有使用 cmake 编译的 C++ 项目。我正在尝试使用相对路径而不是绝对路径链接库。代码编译良好,但在链接库时出现问题。

CMakeLists.txt:

cmake_minimum_required(VERSION 2.8)
project(GMW)
cmake_policy(SET CMP0015 NEW)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -maes -mpclmul -fPIC")

SET (BOOST_ROOT $ENV{HOME}/boost_1_60_0/)
SET (BOOST_INCLUDEDIR $ENV{HOME}/boost_1_60_0/)
SET (BOOST_LIBRARYDIR $ENV{HOME}/boost_1_60_0/stage/lib)
find_package(Boost COMPONENTS system thread REQUIRED)

INCLUDE_DIRECTORIES($ENV{HOME} ${BOOST_INCLUDEDIR}
        ../../lib/OTExtensionBristol ../../lib/)

link_directories(/usr/ssl/lib/ ../../install/lib ${BOOST_LIBRARYDIR})

set(SOURCE_FILES main.cpp GMWParty.h Circuit.cpp Circuit.h MPCCommunication.cpp MPCCommunication.h GMWParty.cpp)
add_executable(GMW ${SOURCE_FILES})
add_library(gmw ${SOURCE_FILES})

TARGET_LINK_LIBRARIES(GMW ../../scapi.a gmp
        OTExtensionBristol
        ../../install/lib/libsimpleot.a
        boost_system boost_thread pthread crypto dl ssl z)
Run Code Online (Sandbox Code Playgroud)

cmake_policy(SET CMP0015 NEW)解决了链接目录的问题。

对于链接库如何解决?