如何将cmake build libs链接到外部代码?

时间:2017-03-24 23:12:11

标签: c++ cmake

我想在我的外部目录代码中使用这个library c ++库,我用cmake构建了(我是新手),作为compiling tutorial解释。在此之后,我想将哪些文件(或makefile)添加到我的目录中以执行此类操作是我的代码

#include "rpc/server.h"

我看到了一些关于导入静态库的问题,这些库必须将CMakeLists.txt添加到我的目录中并使用

编译我的主代码
g++ -static main.cc -L<librpc.a directory> -lrpc -o main

但得到这个:

fatal error: rpc/server.h: No such file or directory compilation terminated.

我在网上搜索过这些程序,但我没有成功。有人可以提供帮助

1 个答案:

答案 0 :(得分:0)

首先,您需要将rpc库作为导入的库添加到项目中,然后必须指定目标属性,例如导入的位置和包含目录。

add_library(rpc SHARED IMPORTED)
set_target_properties(rcp
    PROPERTIES
    IMPORTED_LOCATION "${rpc_LIBRARIES}"
    INCLUDE_DIRECTORIES "${rpc_INCLUDES}"
)

成功将rpc库添加到项目后,只需将rpc作为目标添加到可执行文件中即可。

add_executable(your_test_program main.cpp)
target_link_libraries(your_test_program PRIVATE rpc )