在我的项目中,我提供了一个要从main.cpp可执行文件链接到的静态库foo.lib。我想将编译后的库作为导入库导入。
文件结构:
external/foo/lib/foo.lib
external/foo/include/foo.h
external/CMakeLists.txt
src/CMakeLists.txt
src/main.cpp
CMakeList.txt
external/CMakeLists.txt:
add_library(foolib STATIC IMPORTED GLOBAL)
set_target_properties(foolib PROPERTIES
IMPORTED_LOCATION "${CMAKE_CURRENT_LIST_DIR}/foo/lib/"
INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_CURRENT_LIST_DIR}/foo/include/"
)
当前,当我尝试编译时出现错误:
could not open '../../../external/foo/lib/': no such file or directory
所以也许使用${CMAKE_CURRENT_LIST_DIR}
是不正确的方法。
target_include_directories
代替直接设置INTERFACE_INCLUDE_DIRECTORIES
吗?