Ubuntu 16 04下安裝 PCL簡單方法

2021-10-09 23:09:58 字數 3387 閱讀 7954

目錄

1 安裝方法

2 測試是否安裝成功

2.1 pcl_test.cpp

2.2 cmakelists.txt

2.3 結果顯示:​

3 遇到的問題

3.1 make[2]: *** no rule to make target '/usr/lib/x86_64-linux-gnu/libproj.so'

解決方法1:安裝缺失的packeage

解決方法2:建立軟連線

3.2 can not find libvtkproj4.so

解決方法1:建立軟鏈結

解決方法2:移除依賴關係

3.3 fatal error: pcl/visualization/pcl_visualizer.h: 沒有那個檔案或目錄

3.4 找不到已經編譯好的pcl_***.so

//pcl_test.cpp

#include #include #include #include #include #include int main(int argc, char **ar**)

if (z < 0.0)

else

}point_cloud_ptr->width = (int) point_cloud_ptr->points.size ();

point_cloud_ptr->height = 1;

pcl::visualization::cloudviewer viewer ("test");

viewer.showcloud(point_cloud_ptr);

while (!viewer.wasstopped());

return 0;

}

# cmakelists.txt

cmake_minimum_required(version 2.6)

project(pcl_test)

find_package(pcl 1.7 required)

include_directories($)

link_directories($)

add_definitions($)

# 問題3.2(can not find libvtkproj4.so)的解決方案

list(remove_item pcl_libraries "vtkproj4")

add_executable(pcl_test pcl_test.cpp)

target_link_libraries (pcl_test $)

install(targets pcl_test runtime destination bin)

以上兩個檔案放在同一資料夾後,執行命令

cmake .

make

./pcl_test

參考:親測 有效 ubuntu16.04安裝pcl庫

使用apt-file快速尋找缺失so檔案對應的package

採用以下命令對該檔案所在的package進行搜尋:

$ apt-file search /usr/lib/x86_64-linux-gnu/libproj.so
結果如下:

libproj-dev: /usr/lib/x86_64-linux-gnu/libproj.so

libproj9: /usr/lib/x86_64-linux-gnu/libproj.so.9

libproj9: /usr/lib/x86_64-linux-gnu/libproj.so.9.1.0

安裝缺失的packeage:

$ sudo apt-get install libproj-dev
建立軟連線, 終端中輸入: 

sudo ln -s /usr/lib/x86_64-linux-gnu/libproj.so.9 /usr/lib/x86_64-linux-gnu/libproj.so
在根目錄下搜尋是否有這個檔案,檢視版本號是否一樣。

如果只有libvtkproj4.so.5.10   說明版本號不對,需要軟鏈結一下

sudo ln -s /usr/lib/libvtkproj4.so.5.10 /usr/lib/libvtkproj4.so
路徑一般都是這個,不是這個的話對應修改一下

//在add_executable之前加上

list(remove_item pcl_libraries "vtkproj4")

//如果你使用pcl, 或者是用 vtk目錄,也可以加上下面這個

list(remove_item vtk_libraries "vtkproj4")

方法1: 安裝 cmake gui 用介面選擇 visualization選項,再編譯安裝

方法2:如下

根據 ubuntu16.04 安裝配置 pcl1.9  建議,安裝了vtk6.2版本。

sudo apt-get install libvtk6.2 libvtk6.2-qt libvtk6-dev

然後按照文中所述重新編譯安裝pcl1.9

原因: 生成的so存在與/usr/lib下, 而使用的so去/usr/lib/x86_64-linux-gnu下找.

解決方法1: linux 給執行程式指定動態庫路徑 將自己可能存放庫檔案的路徑都加入到/etc /ld.so.conf中. 或者 在 ~/.bashrc 中 新增 如

ld_library_path = $ ld_library_path:/your-path/lib

然後更新

source ~/.bashrc

解決方法2: 將需要的so直接copy到需要的目錄中

3.5 eigen報錯

ubuntu解除安裝eigen 重新安裝3.1.0

sudo updatedb  

locate eigen3  

sudo rm -rf /usr/include/eigen3 /usr/lib/cmake/eigen3 /usr/share/doc/libeigen3-dev /usr/share/pkgconfig/eigen3.pc /var/lib/dpkg/info/libeigen3-dev.list /var/lib/dpkg/info/libeigen3-dev.md5sums  

mkdir build  

cd build  

cmake ..  

make install 

ubuntu16 04下安裝boost環境

最簡單的方法 進入linux系統後,按ctrl alt t進入終端,然後輸入 sudo apt cache search boost 你將看到很多檔案資訊,找到乙個檔案叫 libboost dev,直接安裝此檔案即可 sudo apt get install libboost dev 這樣就安裝成功...

ubuntu16 04下安裝scrapy框架

一.按照官方文件的說明,安裝scrapy 需要以下程式或者庫 1 python 2.7 2 lxml。most linux distributions ships prepackaged versions of lxml.otherwise refer to 3 openssl。this comes...

ubuntu16 04下安裝mysql詳細步驟

1 如果要搭建伺服器先去購買乙個雲主機,比如阿里雲 京東雲 新網等等都有賣。這裡推薦使用京東雲伺服器,因為最近在搞活動。一元可體驗兩個月 可能現在活動已經過了,但在京東雲裡有免費領乙個月的,學生機也有88元一年 第二步 在伺服器裡安裝mysql 先弄完郭神裡的步驟再看這裡 通過郭神那裡的簡單介紹,你...