如何将我的静态库链接到我的c ++项目CMake?

时间:2017-10-14 12:15:23

标签: c++ cmake clion

我在CMake中使用了CLion。我有自己的静态库" libxxx.a"。 我试图在CMakeLists.txt中以这种方式链接它: target_link_libraries(myProject ./lib/libxxx.a) 这样我就可以将库包含到我的main.cpp中。 #include "xxx.h"。 但我有错误fatal error: xxx.h: No such file or directory。 我该怎么办?

1 个答案:

答案 0 :(得分:0)

CMake包含一个预构建的静态库

作为草图,你需要你的项目看起来像这样

project( myProject )

set( SOURCE_FILES main.cpp )

add_library( myLibrary STATIC IMPORTED )
set_property( TARGET myLibrary PROPERTY IMPORTED_LOCATION /path/to/lib/libxxx.a )
include_directories( /path/to/headers/ )

add_executable( myProject ${SOURCE_FILES} )
target_link_libraries( myProject myLibrary )

您可以将include_directories替换为:

set_property( TARGET myLibrary PROPERTY INCLUDE_DIRECTORIES /path/to/headers/ )

更好的方法是从源代码编译静态库,然后使用

target_include_directories( myLibrary PUBLIC /path/to/headers/ )

然后他们会自动处理。