C++ 从外部目录创建链接库

C++ 从外部目录创建链接库,c++,cmake,shared-libraries,C++,Cmake,Shared Libraries,我试图将共享库mylib.so链接到可执行文件,但CMake抛出错误 导入的目标“mylib”在其接口目录中包含不存在的路径。 如何从示例1之外的目录链接共享库? 是的,有很多类似的问题,但没有人有这个问题 我按照答案写了这个CMakeLists.txt \lib mylib.so \- inc \- mod1 \- mod2 \- another_lib \examples \- common_inc \- example1 CMakeLists.txt

我试图将共享库mylib.so链接到可执行文件,但CMake抛出错误
导入的目标“mylib”在其接口目录中包含不存在的路径。

如何从
示例1之外的目录链接共享库?

是的,有很多类似的问题,但没有人有这个问题

我按照答案写了这个CMakeLists.txt

\lib
 mylib.so
 \- inc
   \- mod1
   \- mod2
   \- another_lib
\examples
  \- common_inc 
  \- example1
    CMakeLists.txt
    \- src
    \- inc
  \- example2
     ...

路径
${CMAKE\u SOURCE\u DIR}.././lib/inc
实际上不存在:您在
${CMAKE\u SOURCE\u DIR}
之后忘记了斜杠(
/
)。导入的位置属性也存在同样的问题。@Tsyvarev愚蠢的错误。。。你说得对,它正在工作。
cmake_minimum_required (VERSION 3.5)

project (example1 CXX)
set (CMAKE_CXX_STANDARD 14)

set (SRC
                "src/main.cpp"
                "src/mod1.cpp"
)

set (INC
                "inc/mod1.hpp"
)


add_library(mylib SHARED IMPORTED GLOBAL)
set_target_properties(mylib PROPERTIES 
    IMPORTED_LOCATION "${CMAKE_SOURCE_DIR}../../lib/mylib.so"
    INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_SOURCE_DIR}../../lib/inc"
)

add_executable (example1 ${SRC})
target_include_directories(example1 PRIVATE "inc")
target_include_directories(example1 PRIVATE "../common_inc") 
target_link_libraries(example1 mylib)