首页 > 解决方案 > 将 c++ 库与 cmake 链接的问题

问题描述

我正在尝试链接以下库:nngpp 使用以下命令

mkdir build
cd build
cmake ..
make
make install

但是,在测试演示或在项目中使用库时,其中包含以下内容CMakeLists.txt

...
add_executable(target main.cpp)
target_link_libraries(target nngpp)

我收到以下错误:

fatal error: 'nngpp/nngpp.h' file not found
#include <nngpp/nngpp.h>
         ^~~~~~~~~~~~~~~
1 error generated.
make[2]: *** [CMakeFiles/rest.dir/rest/server.o] Error 1
make[1]: *** [CMakeFiles/rest.dir/all] Error 2
make: *** [all] Error 2

注意:该库仅是标头。但我不想在我的项目中复制它。

标签: c++cmake

解决方案


以下工作:

cmake_minimum_required(VERSION 3.0 FATAL_ERROR)
project(comm)
set(CMAKE_CXX_STANDARD 11)

find_package(nng REQUIRED)
find_package(Threads)
find_package(nngpp REQUIRED)

add_executable(server src/tfo-server.cpp)
target_link_libraries(server nng::nng nng::nngpp)

这也有效:

cmake_minimum_required(VERSION 3.0 FATAL_ERROR)
project(comm)
set(CMAKE_CXX_STANDARD 11)


add_executable(server src/tfo-server.cpp)
include_directories(server /usr/local/include)

推荐阅读