我试图在Ubuntu 16.04上运行PCL 1.7(点云库,而不是其他pcl)。我最终希望用于C ++的东西,但是现在我只是想让这些例子工作。我使用的是Ubuntu(GNU 5.3.1)和Cmake版本3.5.2附带的默认编译器。我一直在关注PCL网站上的说明(here和here),但目前我已经停留在我使用' make'让Cmake构建它想要构建的东西之后的命令。这是我得到的错误
[ 50%] Building CXX object CMakeFiles/pcd_write.dir/pcd_write.cpp.o
<command-line>:0:15: warning: missing whitespace after the macro name
make[2]: *** No rule to make target '/usr/lib/x86_64-linux-gnu/libproj.so', needed by 'pcd_write'. Stop.
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/pcd_write.dir/all' failed
make[1]: *** [CMakeFiles/pcd_write.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
当我在建造东西时,Cmake也给了我警告,那些就在这里。他们不会阻止它运行,但它们可能是相关的。
-- Found OpenNI2: /usr/lib/libOpenNI2.so
** WARNING ** io features related to pcap will be disabled
** WARNING ** io features related to png will be disabled
-- The imported target "vtkRenderingPythonTkWidgets" references the file
"/usr/lib/x86_64-linux-gnu/libvtkRenderingPythonTkWidgets.so"
but this file does not exist. Possible reasons include:
* The file was deleted, renamed, or moved to another location.
* An install or uninstall procedure did not complete successfully.
* The installation package was faulty and contained
" /usr/lib/cmake/vtk-6.2/VTKTargets.cmake"
but not all the files it references.
另外,如果它有关系,我早些时候做了一个可能很愚蠢的事情,它给了我类似的关于VTK的警告。它告诉我/ user / bin / vtk已重命名或其他内容,而且确实如此。这个版本的VTK称自己为vtk6。我尝试在makefile中找到并更改它,以便Cmake知道要查找vtk6,但我无法在任何地方找到它,所以我进入bin并制作了一个名为vtk的vtk6副本,并且它停止给我一个警告。
我使用的其他相关版本的东西是eigen3 3.2.92,boost 1.58.0,flan 1.8.4,vtk6和libopenni2 version 2.2.0.3
同样,不确定这有多少实际上很重要,但最好是过于具体而不是太模糊的IMO。
答案 0 :(得分:14)
此错误仍在16.04,但有一种解决方法。
sudo apt install libproj-dev
将以下行添加到您的CMakeLists.txt文件中:
list(REMOVE_ITEM PCL_LIBRARIES "vtkproj4")
第一个提供必要的libproj.so
,第二个修复了链接不存在(和不必要的)libvtkproj4时的错误。
关于未存在的引用文件的其他错误似乎是无害的(或者至少我的项目编译尽管有相同的错误)。
有关更多信息,请参阅:
https://bugs.launchpad.net/ubuntu/+source/pcl/+bug/1573174
https://bugs.launchpad.net/ubuntu/+source/vtk6/+bug/1573234
答案 1 :(得分:3)
答案 2 :(得分:2)
使用vtk6安装似乎存在问题
这里描述: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=819741
快速而肮脏的修复: 在请求的目录中创建符号链接libproj.so:
sudo ln -s /usr/lib/x86_64-linux-gnu/libproj.so.<your-version> /usr/lib/x86_64-linux-gnu/libproj.so
答案 3 :(得分:0)
这是安装 PCL 时 Ubuntu 的问题。但是这两个问题有一个替代的解决方案
sudo update-alternatives --install /usr/bin/vtk vtk /usr/bin/vtk6 10
sudo ln -s /usr/lib/python2.7/dist-packages/vtk/libvtkRenderingPythonTkWidgets.x86_64-linux-gnu.so /usr/lib/x86_64-linux-gnu/libvtkRenderingPythonTkWidgets.so