由于在 VTK 之前安装了 PCL,因此撤销 make install

由于在 VTK 之前安装了 PCL,因此撤销 make install

我正在按照存储库的步骤进行操作,为了对一些数据集进行采样,需要 PCL 和 VTK。我有一个之前有很多问题关于损坏的软件包,我不得不删除并重新安装 Ubuntu (18.04),所以从现在起我会格外小心。根据提供的说明:

git clone https://github.com/PointCloudLibrary/pcl.git
cd pcl
mkdir build && cd build
cmake ..
make -j4
sudo make install

然后:

tar -xzvf VTK-8.2.0.zip  #I could not run this command so I just right clicked, uncompress. Can this be the problem?
cd VTK-8.2.0/
mkdir build && cd build
cmake ..
make -j4
sudo make install

一切正常。之后,我需要在脚本文件夹中运行(示例):

cd sample
mkdir build && cd build
cmake ..
make

在最后一步中我得到了以下信息make

/home/mk/PCN-PyTorch/sample/mesh_sampling.cpp:39:10: fatal error: pcl/visualization/pcl_visualizer.h: No such file or directory
 #include <pcl/visualization/pcl_visualizer.h>

做一些关于这个缺失的 pcl_visualizer.h 的研究,在 PCL github 问题中,他们陈述了以下内容,让我认为我可以直接卸载两者,然后再次运行它们但顺序相反(首先是 VTK,然后是 PCL):

你是如何获得 PCL 的?它似乎是在没有可视化模块的情况下构建的,而这当然是构建“PCL 可视化工具”教程所必需的。

在研究“如何安全地恢复 make”时,我发现进行卸载

sudo make uninstall

如果应用程序以 root 身份安装。

但这只有在软件包的开发人员制定了良好的卸载规则时才会起作用。

我也看到了这个帖子

make clean 会从源/构建树中删除任何中间文件或输出文件。但是,它只影响源/构建树;它不会触及文件系统的其余部分,因此不会删除以前安装的软件。

如果幸运的话,运行 make uninstall 就可以了。不过,这取决于库的作者是否提供卸载目标;有些作者提供了卸载目标,有些则没有。

PCL 和 VTK 都是众所周知的库,所以我认为不应该有任何问题。但是这个“如果你够幸运的话”我很担心。

答案1

我尝试使用 PCL 在 VTK 之后进行构建和编译的过程,但问题并未得到解决。

解决方案是删除PCL的构建目录,然后重新构建并编译PCL:

cd pcl
mkdir build && cd build
cmake ..
make -j4
sudo make install

正如用户@Pilot6 和@steeldriver 所说,没有必要“撤销”任何内容或“卸载”。

相关内容