我需要制作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>
中看不到库。
答案 0 :(得分:0)
您需要使用target_include_directories
为目标指定包含目录。在这种情况下,libtest所在的目录。