首页 > 解决方案 > 如何将构建的 C++ 库安装到 /usr/include?

问题描述

目标

我想在 Ubuntu 16.04 上安装最新的 C++ Pointcloud 库:PCL版本 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.

接下来我该怎么办?

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

我对安装像 Linux 这样的 C++ 库相当陌生,特别是使用 cmake 和 make 命令。

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

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

任何有关这方面的建议和信息将不胜感激。

标签: c++buildcmakeshared-librariespoint-cloud-library

解决方案


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

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

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

我之前安装了...使用终端命令 sudo apt-get install ...这将头文件放在 /usr/include/pcl-1.7/ 中。对应的 .cpp 文件去哪了?

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


推荐阅读