c++ - 将 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
注意:该库仅是标头。但我不想在我的项目中复制它。
解决方案
以下工作:
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)
推荐阅读
- angular - PrimeNG Chips:输入分号时添加标签
- hugo - 为什么我在 Netlify/Hugo 中修复“构建”的步骤不起作用?
- google-apps-script - 如果两个对应的单元格匹配,则删除行
- json - 如何将一些 json 文件解析为列表
- php - 使用 PHP 连接到 MySQL 的问题
- javascript - 为什么我的javascript类实例中的方法看不到属性
- python - sqlite3.OperationalError) Heroku 上没有这样的表
- android - 此处 zoomTo 忽略 ViewRect X 和 Y 位置
- c# - PDFsharp 无法从 Crystal Reports CR23 编码的文档中读取文本
- java - 如何使用 do-while 循环程序修复这个随机数猜谜游戏?