如何将构建的 C++ 库安装到 /usr/include?

How do I install a built C++ library to /usr/include?

目标

我想安装最新的 C++ Pointcloud 库:PCL 在 Ubuntu 16.04 上发布 1.8,并以我可以在 C++ 代码中导入它的方式安装它,例如:

#include <pcl/filters>

进度

我已按照教程进行操作:https://gist.github.com/IgniparousTempest/ce5fadbe742526d10d6bdbf15c3a3fe7#file-ubuntu_16-06_pcl_1-8-0_install-sh

命令 运行 成功,库(.cpp 和 .h 文件)当前位于:~/Documents/pcl.

接下来我该做什么?

我现在需要用这个库做什么?

我对像这样安装 C++ 库还很陌生 Linux,尤其是使用 cmake 和 make 命令。

我之前使用终端命令 sudo apt-get install libpcl-all 安装了 pcl 1.7。这将头文件放在 /usr/include/pcl-1.7/ 中。相应的.cpp 文件去了哪里?我无法使用 bash 命令找到它们 $ locate generic_pcl_filename.cpp

我也想知道是否应该将 pcl 1.8 文件夹放在 /usr/include 目录中,但这似乎是错误的,因为该文件夹还包含 .cpp 文件。

如有任何建议和信息,我们将不胜感激。

How do I install a built C++ library to /usr/include?

通常,通过使用包管理器。包管理器所做的只是复制该目录下的头文件。除此之外,它还跟踪哪些文件属于哪个安装包。

如果你想在包管理器的上下文之外安装一个库,那么你应该使用 /usr/local/include 而不是因为 /usr/include 通常保留给包管理器。复制可以用 cp 完成,尽管库通常带有一个了解系统约定的构建系统,并且安装可以像 make install 一样简单。该库应该记录它应该如何安装。

I previously installed ... using the terminal command sudo apt-get install ...This placed header files in /usr/include/pcl-1.7/. Where did the corresponding .cpp files go?

创建 apt 包的维护者编译了 cpp 文件。该包不包含源代码,而是包含已编译的库(无论是归档目标文件的形式,还是可动态加载的共享库)。