我需要制作库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>
没有看到图书馆。
您需要使用target_include_directories
指定目标的包含目录。在这种情况下,libtest所在的目录。