安裝QT 5.8.0 恩沛、PCL 1.8.0

1.安裝QT鏡像

1.1 下載安裝文件?

1.2 編譯?

2 安裝點(diǎn)云?

2.1 下載源碼

2.2 安裝依賴庫?

3 安裝PCL 1.8.0

4 其他一些庫的安裝

4.1 安裝OpenMesh

4.2 安裝aravis-0.5.7

4.3 安裝cholmod

5 通常情況下的安裝方法

6 出現(xiàn)Killed (Program Cc1plus)?

7 問題集成(Q&A)


0.0用uname -a查看架構(gòu)

ubuntu@tegra-ubuntu:~$ uname -a

Linux tegra-ubuntu 4.4.38-tegra #1 SMP PREEMPT Thu Jul20 00:41:06 PDT 2017 aarch64 aarch64 aarch64 GNU/Linux

0.1源碼文件夾內(nèi)的cmake可以查看依賴的版本號

1.安裝QT鏡像

1.1下載安裝文件

http://master.qt.io/official_releases/qt/5.8/5.8.0/single/下載:

qt-everywhere-opensource-src-5.8.0.tar.gz(everywhere是編譯在不同架構(gòu)上)

前期準(zhǔn)備:可能需要一個大于20G的u盤用來編譯源碼腺毫,講u盤格式化成ext4用來存源碼已卷,這里使用的是5.8.0的qt庫孽鸡。

1.2編譯

如果不使用cmake-gui編譯狡赐,可以用命令行編譯

$ cd qt-everywhere-source-5.8.0

#跳過了wayland的編譯腐螟,因?yàn)槌龅膯栴}太多了

./configure -prefix /usr/local/qt5.8 -opensource-nomake tests-nomake examples –skipwayland

編譯并安裝

$ make –j4

$ sudo make install

可以看見編譯的U盤掛載在/dev/sda1愿汰,已經(jīng)使用了12G的容量

查看U盤空間

具體QT編譯問題參考后半部分(Q&A)

2安裝點(diǎn)云庫

可參考如下

·參考:http://www.pointclouds.org/documentation/tutorials/compiling_pcl_posix.php

·參考:http://blog.csdn.net/linkageworld/article/details/52846555

2.1下載源碼

過程->安裝QT庫->安裝VTK的依賴庫->安裝VTK 8.0->安裝PCL1.8的依賴庫->安裝PCL->完成

VTK 8.0下載source源碼https://www.vtk.org/download/

PCL 1.8.0下載source源碼https://github.com/PointCloudLibrary/pcl/releases

PS:可能需要重新選擇QT5.8.0路徑,因?yàn)榭赡苣J(rèn)的是系統(tǒng)版本的QT5.5.1乐纸,修改成如下QT5.8.0的路徑:


qmake時的路徑

PS:PCL依賴庫的版本查詢可以在pcl源碼文件夾的cmake文件夾里面查看


PCL文件夾查看依賴庫

2.2安裝依賴庫

·參考:http://www.cnblogs.com/vanwoos/p/5347673.html

部分依賴庫可使用ubuntu自帶apt-get命令進(jìn)行安裝(安裝前使用sudo

apt-get update和sudo apt-get upgrade更新軟件庫)

安裝flann

$ sudo apt-get install -y libflann-dev

安裝boost(默認(rèn)1.58)

$ sudo apt-get install libboost-all-dev

安裝PCAP

$ sudo apt-get install libpcap-dev

安裝libusb

$ sudo apt-get install libusb*

安裝metslib

可能要去metslib官網(wǎng)下載metslib-0.5.3.tar.gz進(jìn)行安裝

安裝Qhull

可下載新版安裝https://launchpad.net/ubuntu/+source/qhull

$ sudo apt-get install libqhull-dev

安裝VTK(編譯1小時衬廷,安裝半小時)

·參考:http://blog.csdn.net/fanhenghui/article/details/52025846

安裝VTK的時候可能會出現(xiàn)找不到UiPlugin_dir(因此要安裝QT5.8.0)

找不到Qt5UiPlugin_DIR

安裝完成后,可指定Qt5UiPlugin文件夾路徑

Qt5UiPlugin路徑

3安裝PCL 1.8.0

使用Cmake-gui指定source文件夾(PCL文件夾)汽绢,在pcl文件夾下創(chuàng)建build文件夾(用來配置)吗跋,點(diǎn)擊Grouped打鉤,分組顯示宁昭,然后修改新的Qt5.8.0的cmake文件夾路徑


Qmake使用

4其他一些庫的安裝

4.1安裝OpenMesh

用git下載跌宛,自己編譯安裝

$ git clone?https://www.graphics.rwth-aachen.de:9000/OpenMesh/OpenMesh.git

可能需要修改Qt5的文件夾路徑:

Qt5的文件夾路徑

然后make,接著sudo make install編譯和安裝

4.2安裝aravis-0.5.7

看README.md可以知道使用./configure配置积仗,然后是make和sudo

make install進(jìn)行編譯安裝

4.3安裝cholmod

使用apt-get安裝cholmod

$ sudo apt-get install libsuitesparse-dev

頭文件路徑:/usr/include/suitesparse

5通常情況下的安裝方法

首先疆拘,參考源碼文件夾內(nèi)的README.md,一般都會有安裝方法和需要的依賴庫以及版本信息

1.使用sudo apt-get install安裝斥扛,如sudo apt-get installlibboost-1.58-dev

安裝前sudo apt search搜索要安裝的庫或者軟件是否在軟件庫內(nèi)入问,如sudoapt search libboost*

2.若源碼文件夾內(nèi)有configure文件(如圖),則可以使用./configure進(jìn)行配置稀颁,接著使用make和sudo

make install進(jìn)行編譯和安裝芬失。安裝前可以使用./configure –h查看可配置參數(shù)(如圖)

configure 文件
./configure –h

3.若源碼文件夾內(nèi)有CMakeLists文件,可以使用cmake-gui進(jìn)行編譯匾灶,也可以選擇用

$ sudo apt-getinstall cmake

來使用命令行對源碼編譯進(jìn)行配置棱烂,可以創(chuàng)建build文件夾用來放配置之后的文件和將要編譯的makefile,有了makefile就可以進(jìn)行編譯和安裝了阶女,還是老規(guī)矩颊糜,使用make和sudo

make install進(jìn)行編譯和安裝。

?cmake文件
makefile文件

4.若源碼文件夾內(nèi)只有makefile秃踩,可直接使用make和sudo

make install進(jìn)行編譯和安裝衬鱼。

6?出現(xiàn)Killed (Program Cc1plus)

G++: Internal Error: Killed (Program Cc1plus)

原因是內(nèi)存不足,可以查看自己的存儲空間憔杨,適當(dāng)在Lnux下增加臨時swap空間(臨時交換空間)

第一步:

$ sudo dd if=/dev/zero of=/home/swap bs=1024 count=512000

注釋:of=/home/swap,放置swap的空間;

count的大小就是增加的swap空間的大小鸟赫,1024就是塊大小,這里是1K,所以總共空間就是bs*count=512M

已使用內(nèi)存抛蚤,SWAP交換內(nèi)存

第二步:

$ sudo mkswap /home/swap

注釋:把剛才空間格式化成格式

第三步:

$ sudo swapon /home/swap

注釋:使剛才創(chuàng)建的swap空間

關(guān)閉空間:

$ sudo swapoff –a

注釋:關(guān)閉開辟的swap空間台谢,如果感覺不需要交換空間,可以在/home文件內(nèi)把swap文件刪除

·參考:http://tianshuai.github.io/blog/2013/08/26/g-plus-plus-internal-error-killed-program-cc1plus/

$ sudo dd if=/dev/zero of=/home/swap bs=1024 count=512000

$ sudo mkswap /home/swap & sudo swapon /home/swap

7問題集成(Q&A)

安裝QT5的一些問題

Q:出現(xiàn)libxcb這種如下錯誤時候

libxcb

A:使用命令安裝xcb的庫

sudo apt-get install libxcb*

遇到找不到xkbcommon頭文件的

sudo apt-get install libxkbcommon*

遇到找不到Qt5X11Extras岁经,就安裝Qt5X11Extras

sudo apt-get install qt5x11*

可能出現(xiàn)的問題參考下面文章

·參考:http://blog.csdn.net/situzhuge/article/details/5868148

Q:出現(xiàn)和libusb庫有關(guān)的錯誤

undefined

A:官網(wǎng)找到libusb1.0.21朋沮,需要依賴庫libudev

sudo apt-get install libudev*

Q:出現(xiàn)Segmentation fault錯誤

PS:程序訪問的非法的內(nèi)存,導(dǎo)致其被操作系統(tǒng)強(qiáng)行終止

解釋的文章:

·參考:http://blog.chinaunix.net/uid-23069658-id-3959636.html


Segmentation fault錯誤

If it works with the latest version of pcl,but not with the older version of pcl there is probably a patch which has beenapplied to pcl between those versions which fixes it, I'd suggest lookingthere. You should also dig in with gdb and try to find the actual issue withthe memory causing the segfault.

Edit:

Looking closer, this is just a bug in PCL,there's nothing ROS releated. I removed all the ROS related code and it stillsegfaults.

PS:網(wǎng)上的答案是使用gdb去運(yùn)行查看問題,發(fā)現(xiàn)boost版本和pcl版本可能有沖突缀壤,也可能是boost版本和C++11有沖突(-std=c++11)

gdb調(diào)試

0x0000007fb0fb167c in boost::math::lanczos::lanczos24m113::lanczos_sum (

z=@0x7fffffede0: 1) at/usr/include/boost/math/special_functions/lanczos.hpp:1069

1069};

A:大體上就是boost庫的問題樊拓,版本是1.58,暫時未找到解決方法诉位,網(wǎng)上的辦法是去掉C++11支持骑脱,或者使用其他版本的boost庫。

這里說一點(diǎn):對于相比于JetPack3.1苍糠,JetPack3.0我覺得他的內(nèi)存分配做得不是很好叁丧,經(jīng)常在分配的時候沒有釋放掉,這也就是我在編譯的時候經(jīng)常ccplus進(jìn)程被殺死的原因岳瞭,和運(yùn)行程序的時候出現(xiàn)“Segmetation

Fault”拥娄。

A:程序之所以會時不時的出現(xiàn)“Segmetation Fault”的根本原因是進(jìn)程訪問到了沒有訪問權(quán)限的地方,諸如內(nèi)核區(qū)域或者其0x08048000之前的地方瞳筏,或者由于要訪問的內(nèi)存沒有經(jīng)MMU進(jìn)行映射所導(dǎo)致稚瘾。而這種問題比較多的是出在malloc()之類的動態(tài)內(nèi)存申請函數(shù)申請完內(nèi)存,釋放后姚炕,沒有將指針設(shè)置為NULL摊欠,而其他地方在繼續(xù)用先前申請的那塊內(nèi)存時,由于內(nèi)存管理系統(tǒng)已經(jīng)將其收回柱宦,所以才會出現(xiàn)這樣的問題些椒。良好的關(guān)于指針的使用習(xí)慣是,使用之前先判斷其是否為NULL掸刊,所有已經(jīng)歸還給操作系統(tǒng)的內(nèi)存免糕,其訪問指針都要及時置為NULL,防止所謂的“野指針”到處飛的情況忧侧。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末石窑,一起剝皮案震驚了整個濱河市杠园,隨后出現(xiàn)的幾起案子漠趁,更是在濱河造成了極大的恐慌,老刑警劉巖叭莫,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件肯夏,死亡現(xiàn)場離奇詭異棺棵,居然都是意外死亡楼咳,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進(jìn)店門烛恤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人余耽,你說我怎么就攤上這事缚柏。” “怎么了碟贾?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵币喧,是天一觀的道長。 經(jīng)常有香客問我袱耽,道長杀餐,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任朱巨,我火速辦了婚禮史翘,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘冀续。我一直安慰自己琼讽,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布洪唐。 她就那樣靜靜地躺著钻蹬,像睡著了一般。 火紅的嫁衣襯著肌膚如雪凭需。 梳的紋絲不亂的頭發(fā)上问欠,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天,我揣著相機(jī)與錄音粒蜈,去河邊找鬼顺献。 笑死,一個胖子當(dāng)著我的面吹牛薪伏,可吹牛的內(nèi)容都是我干的滚澜。 我是一名探鬼主播,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼嫁怀,長吁一口氣:“原來是場噩夢啊……” “哼设捐!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起塘淑,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤萝招,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后存捺,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體槐沼,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡曙蒸,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了岗钩。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片纽窟。...
    茶點(diǎn)故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖兼吓,靈堂內(nèi)的尸體忽然破棺而出臂港,到底是詐尸還是另有隱情,我是刑警寧澤视搏,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布审孽,位于F島的核電站,受9級特大地震影響浑娜,放射性物質(zhì)發(fā)生泄漏佑力。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一筋遭、第九天 我趴在偏房一處隱蔽的房頂上張望打颤。 院中可真熱鬧,春花似錦宛畦、人聲如沸瘸洛。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽反肋。三九已至,卻和暖如春踏施,著一層夾襖步出監(jiān)牢的瞬間石蔗,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工畅形, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留养距,地道東北人。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓日熬,卻偏偏與公主長得像棍厌,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子竖席,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 一耘纱、文件/文件夾管理 ls 列出當(dāng)前目錄文件(不包括隱含文件) ls -a 列出當(dāng)前目錄文件(包括隱含文件) ls...
    會飛的魚Coo閱讀 4,473評論 1 23
  • Ubuntu的發(fā)音 Ubuntu憎亚,源于非洲祖魯人和科薩人的語言员寇,發(fā)作 oo-boon-too 的音弄慰。了解發(fā)音是有意...
    螢火蟲de夢閱讀 99,156評論 9 467
  • Qt是屬于一個跨平臺的GUI開發(fā)軟件,支持的平臺有Unix蝶锋、Linux陆爽、Windows/WinCE、IOS等扳缕。 Q...
    一葉之界閱讀 8,142評論 0 17
  • 一墓陈、文件/文件夾管理 ls 列出當(dāng)前目錄文件(不包括隱含文件)ls -a 列出當(dāng)前目錄文件(包括隱含文件)l...
    路癡千行閱讀 2,381評論 0 5
  • http://blog.csdn.net/mathewsking/article/details/8211273 ...
    liuboxx1閱讀 6,040評論 1 1