Cmake:制作静态库并在其他项目中使用

问题描述 投票:0回答:1

我需要制作库test并在#include <libraryname>的其他项目中使用它

在项目test

的CMakeLists.txt

...
add_library(libtest STATIC lib.h lib.cpp)
set_target_properties(libtest PROPERTIES PUBLIC_HEADER lib.h)

install(TARGETS libtest
        PUBLIC_HEADER DESTINATION include
        RUNTIME DESTINATION bin
        ARCHIVE DESTINATION lib
        LIBRARY DESTINATION lib)
...

在项目testUseLibrary

的CMakeLists.txt

...
add_executable(project main.cpp)
target_link_libraries(project PUBLIC libtest)
...

main.cpp中

#include <libtest> // error 

int main() {
    return 0;
}

在项目testUseLibrary #include<libtest>没有看到图书馆。

c++ cmake static-libraries
1个回答
0
投票

您需要使用target_include_directories指定目标的包含目录。在这种情况下,libtest所在的目录。

© www.soinside.com 2019 - 2024. All rights reserved.