我目前有一个看起来像这样的目录
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连在一起。
答案 0 :(得分:0)
尚未发表评论,因此在此回复。我相信这也是你正在寻找的答案!
我们假设您要将y
与已安装的库x
相关联,而不是原始x
。如果是这样,您需要链接到的项目的完整安装路径,以便:target_link_libraries (y ${CMAKE_INSTALL_PREFIX}/lib/x)
。理由是您在${CMAKE_INSTALL_PREFIX}
命令之前定义了install
,因此这应该有效。