从两个不同的目录

时间:2016-10-16 07:22:57

标签: c++ cmake

我目前有一个看起来像这样的目录

dir1/
    dirA/
        dirAa/
              CMakeLists.txt <- add_library(x STATIC x.cpp)
    dirB/
        dirBb/
             dirBbb/
                    y is a static library that depends on DirAa (x) Library

我如何链接这些目录?当我尝试将y链接到x时,使用相对路径不起作用。在y.cpp中,我尝试使用<x.h>"x.h"。当我使用前者时,根据声明的行,y.h变为未声明。

在我的dirAa CMake文件中,我有

add_library(x STATIC x.cpp) install(TARGETS x DESTINATION lib)

在我的dirBb目录中,没有我尝试放入的垃圾:

add_library(y y.cpp) target_link_libraries(y <a library with install destination bin>) 我想把y和x连在一起。

1 个答案:

答案 0 :(得分:0)

尚未发表评论,因此在此回复。我相信这也是你正在寻找的答案!

我们假设您要将y与已安装的库x相关联,而不是原始x。如果是这样,您需要链接到的项目的完整安装路径,以便:target_link_libraries (y ${CMAKE_INSTALL_PREFIX}/lib/x)。理由是您在${CMAKE_INSTALL_PREFIX}命令之前定义了install,因此这应该有效。