@[TOC]
前言
博主寫該文章時(shí)秒啦,使用的三個(gè)軟件均為最新版熬粗,踩了很多坑,先給大家探探路余境。吐血整理驻呐!??
本人之前學(xué)習(xí)三維點(diǎn)云處理時(shí)安裝過PCL,并且已經(jīng)在VS2017中配置成功(應(yīng)項(xiàng)目需求芳来,需設(shè)計(jì)在Windows環(huán)境下運(yùn)行的點(diǎn)云處理軟件)含末。相比于Linux,在Windows環(huán)境下配置PCL會(huì)出現(xiàn)更多的問題绣张,整個(gè)過程更復(fù)雜答渔,當(dāng)時(shí)也是收集了許多資料,踩了各種各樣的坑侥涵,奈何疏于記錄沼撕,整個(gè)流程和注意事項(xiàng)已忘了差不多了∷纬現(xiàn)在更換了電腦需要重新配置PCL,各種操作需要從頭再來务豺。以防同樣尷尬的事情再次出現(xiàn)磨总,這次記錄下整個(gè)下載、配置過程分享給大家笼沥,不僅是為了沉淀過程蚪燕、積累經(jīng)驗(yàn)以備不時(shí)之需;也是給遇到同樣困惑的朋友們一個(gè)可參照的配置思路奔浅。
注意:因?yàn)楸救爽F(xiàn)在使用的電腦已經(jīng)安裝好了VS2019
和Qt5.14
馆纳,并且深度使用過一段時(shí)間(平常有需求做用戶界面時(shí),我是直接在Qt Creator上寫相關(guān)的代碼汹桦,沒有試過在VS上實(shí)現(xiàn)Qt的代碼鲁驶。因此這次配置還要完成VS和Qt之間的連接)。這次就不考慮先卸載Qt和VS再安裝三個(gè)軟件舞骆,而是選擇直接安裝PCL
钥弯,再對早已安裝的VS和Qt進(jìn)行擴(kuò)展的思路來配置。相信有很多朋友和我的情況相同督禽,畢竟學(xué)習(xí)也包含軟件下載脆霎、軟件擴(kuò)展的過程??
這次也是從一種特殊角度出發(fā),記錄安裝狈惫、配置VS2019+Qt5.14+PCL
的全過程睛蛛。還沒安裝軟件的可以搜下軟件安裝的教程,網(wǎng)上的帖子非常多虱岂,這里我就不重復(fù)了玖院。
1 配置環(huán)境
- Windows10 x64
- Visual Studio 2019
- Qt 5.14.2
- PCL 1.10.1
2 準(zhǔn)備工作
2.1 VS 2019 下載安裝配置
如果沒有安裝過VS2019
可以點(diǎn)擊此處下載社區(qū)版(免費(fèi)的)即可,具體安裝步驟可以上網(wǎng)查詢相關(guān)的帖子第岖。
若早已安裝使用了VS2019难菌,可以從
工具
----獲取工具和功能
來管理安裝的組件。2.2 Qt 5.14.2 下載安裝
2.2.1 本體組件管理
如果沒有安裝過Qt 5.14.2
可以點(diǎn)擊此處下載即可蔑滓,具體安裝步驟可以上網(wǎng)查詢相關(guān)的帖子郊酒。
若早已安裝使用了
Qt
,需要查看有沒有安裝msvc組件
键袱。我當(dāng)時(shí)直接使用的Qt Creator
燎窘,所以沒有安裝msvc組件
。相比于VS蹄咖,Qt的組件管理器沒放在界面中褐健,使用起來頗為麻煩。在QT安裝目錄可以找到QT的組件管理軟件
MaintenanceTool
此時(shí)默認(rèn)的
存儲庫
不能用,只能手動(dòng)配置蚜迅。手動(dòng)添加?儲存庫要定位一個(gè)儲存有Qt在線安裝鏡像的地址
舵匾,http://download.qt.io/static/mirrorlist/這個(gè)網(wǎng)站,顯示中國有四個(gè)鏡像地址谁不,挑選任意一個(gè)坐梯,點(diǎn)擊HTTP
進(jìn)入一個(gè)網(wǎng)絡(luò)文件夾。進(jìn)入最終文件夾
/online/qtsdkrepository/windows_x86/root/qt/
刹帕,復(fù)制當(dāng)前地址吵血。利用復(fù)制的網(wǎng)址創(chuàng)建
臨時(shí)存儲庫
。[圖片上傳失敗...(image-4c62f3-1586141234867)]
可以開始管理你的組件了偷溺!
勾選上
msvc2017 64-bit
即可蹋辅,目前組件還沒有msvc2019
選項(xiàng),勾選2017也可以亡蓉,親測有效晕翠!其他組件
怎么選擇可以看這篇文章https://blog.csdn.net/WU9797/article/details/80991126[圖片上傳失敗...(image-85fa9-1586141234867)]
2.2.2 安裝VS插件
下載插件vsaddin
:
https://download.qt.io/official_releases/vsaddin/
安裝完成后重新打開
VS2019
喷舀,在擴(kuò)展一欄下邊就會(huì)出現(xiàn)Qt VS Tools
砍濒,進(jìn)入Qt Options
添加這兩個(gè)編譯器,設(shè)置
msvc2017_64
為默認(rèn)編譯器硫麻。?? Qt和VS之間的配置已完成爸邢!
2.3 PCL 1.10.1 下載安裝
2.3.1 本體安裝
如果沒有安裝過Qt 5.14
可以點(diǎn)擊此處下載即可。下載AllInOne
和pdb
文件
注意拿愧,在
GitHub
上看到的版本是PCL團(tuán)隊(duì)公布的最新版本1.10.1
杠河;在PCL
官網(wǎng)上可下載的最新的為1.6.0
版本。我還沒去了解究竟是因?yàn)楣倬W(wǎng)不再更新了還是說GitHub推出的只是測試版浇辜,本著買新不買舊的原則這次安裝1.10.1
版本的券敌。
PCL
庫安裝一般有兩種方式:一種是下載PCL的所有第三方依賴庫以及PCL的源代碼
后,自行進(jìn)行編譯安裝(在Linux上實(shí)現(xiàn)非常便捷柳洋,只需要在終端上敲命令即可)待诅,這樣做的好處是可以根據(jù)自己的需求修改源代碼;另一種是利用AllInOne
版本進(jìn)行安裝熊镣,所有依賴在安裝PCL
時(shí)自動(dòng)安裝了卑雁。本文采用第二種安裝方式。
運(yùn)行AllInOne
文件
這里需要配置安裝的其他庫绪囱,如果自己不確定到底有沒有其他的軟件安裝過相關(guān)的庫测蹲,那么就全部都勾選了,否則庫的缺失會(huì)導(dǎo)致點(diǎn)云庫不能正常工作鬼吵。
安裝過程中扣甲,會(huì)跳出
OpenNI2
的單獨(dú)安裝對話框,將安裝路徑修改為 3rdParty/OpenNI2
齿椅,即和其他 PCL 依賴的第三方庫放在一起琉挖,然后繼續(xù)荷逞,完成 PCL 的安裝。解壓
pcl-1.9.0-pdb-msvc2017-win64.zip
粹排,將解壓得到的文件夾中的內(nèi)容添加到你的PCL安裝bin
目錄中种远。安裝到此結(jié)束!
2.3.2 手動(dòng)編譯VTK
PCL 依賴 VTK
顽耳,在其 3rdParty
目錄下可以看到 VTK
坠敷。那為什么還要手動(dòng)編譯 VTK
呢?這是因?yàn)椋?strong>PCL 安裝目錄下的 VTK 并不完整射富,其中就少了與 Qt
相關(guān)的模塊(比如 QVTKWidget)膝迎。所以我們需要手動(dòng)編譯 VTK,并替換 PCL 3rdParty
下的 VTK
胰耗。
可以發(fā)現(xiàn)限次,PCL1.9.1 依賴 VTK8.2
,所以我們編譯這個(gè)版本的 VTK(如果你使用的是其他版本的 PCL柴灯,請編譯對應(yīng)版本的 VTK)卖漫。可以在 VTK Github 下的 release
頁面獲取對應(yīng)版本的 VTK 源碼
赠群。在此之前羊始,你需要先安裝 cmake
,用于生成平臺相關(guān)的解決方案查描。
首先將 VTK 源碼解壓突委,打開 安裝好的cmake-gui
,設(shè)置源碼目錄
(此處即為 VTK 源碼目錄)和生成目錄
冬三。并使用 Add Entry
按鈕添加緩存變量 CMAKE_DEBUG_POSTFIX
匀油,類型為 STRING
,值設(shè)置為 -gd
勾笆。這是為了將最后編譯的 debug
文件與 release
文件區(qū)分開來敌蚜。
單擊
Configure 進(jìn)行配置
,根據(jù)安裝的 Visual Studio
的版本選擇對應(yīng)的生成器匠襟,選擇 x64
平臺钝侠。然后開始配置。配置過程中酸舍,
cmake
會(huì)檢測當(dāng)前環(huán)境帅韧,編譯器等,并生成緩存變量啃勉。第一次配置完成后忽舟,需要對一些緩存變量進(jìn)行修改,如 CMAKE_INSTALL_PREFIX
,它規(guī)定了最后構(gòu)建的 VTK 安裝在什么地方叮阅,這個(gè)目錄可以隨意選擇刁品,到時(shí)候拷貝到 PCL 3rdParty 目錄下即可。此外浩姥,可以選擇需要構(gòu)建的內(nèi)容:BUILD_DOCUMENTATION
, BUILD_EXAMPLES
, BUILD_SHARED_LIBS
, BUILD_TESTING
挑随。考慮到?jīng)]有直接使用 VTK勒叠,而只是用于替換 PCL 中的 VTK兜挨,可以只勾選 BUILD_SHARED_LIBS
,不對文檔眯分、實(shí)例和測試進(jìn)行生成拌汇,這樣可以節(jié)省生成和構(gòu)建的時(shí)間。另外一個(gè)比較重要的是弊决,要勾選 VTK_Group_Qt
噪舀。具體如下圖所示,單擊 Configure飘诗,進(jìn)行配置与倡。然后就會(huì)提示
Qt5_DIR NOT FOUND
,所以疚察,將該緩存變量設(shè)置為 Qt cmake
目錄蒸走,在我的電腦上該目錄為 D:\Qt\Qt5.14.2\5.14.2\msvc2017_64\lib\cmake\Qt5
(具體根據(jù) Qt 的版本和安裝目錄進(jìn)行合適的設(shè)置)。將 VTK_QT_VERSION
設(shè)置為 5
貌嫡。然后
Configure
,配置完成后该溯,開始 Generate
岛抄,生成完畢后,可以在生成目錄下發(fā)現(xiàn) Visual Studio 解決方案
(.sln文件
)狈茉。打開解決方案(用VS2019打開.sln
文件)夫椭,其中包含了上百個(gè)即項(xiàng)目,默認(rèn)是 Debug x64
模式氯庆,右擊 ALL_BUILD
項(xiàng)目蹭秋,選擇生成,生成完成后堤撵,右擊 INSTALL
項(xiàng)目仁讨,選擇生成,即開始安裝实昨,將生成 debug 庫文件
洞豁。待構(gòu)建完成后,切換為 Release x64
模式,按同樣的操作丈挟,生成 release 庫文件(構(gòu)建過程比較耗時(shí)刁卜,大概需要 2 個(gè)小時(shí)左右)。最終完成 VTK 的構(gòu)建曙咽,可以在先前配置的安裝目錄下找到構(gòu)建好的文件蛔趴。最后,將構(gòu)建好的整個(gè)目錄拷貝至
PCL 3rdParty
目錄下例朱,更名為 VTK夺脾,替換掉原來的 VTK。此外茉继,為了能夠在 Qt Designer
中使用 QVTKWidget
控件咧叭,將 C:\Program Files\PCL1.10.1\3rdParty\VTK\plugins\designer
下的.dll文件
拷貝至 D:\Qt\Qt5.14.2\5.14.2\msvc2017_64\plugins\designer
目錄下(具體目錄設(shè)置根據(jù)軟件版本和安裝路徑而定)。
PCL1.10.1+VS2019+Qt5.14.2 安裝及配置到此基本結(jié)束烁竭。
3 環(huán)境變量設(shè)置
最后還需要進(jìn)行環(huán)境變量設(shè)置(如已添加則忽略菲茬,可以添加在系統(tǒng)變量中,這樣每個(gè)用戶不用單獨(dú)地設(shè)置):
PCL_ROOT
指向 PCL 安裝根目錄(示例:C:\Program Files\PCL1.10.1
)派撕。QTDIR
指向 QT 安裝根目錄(示例:D:\Qt\Qt5.14.2
)婉弹。在 PATH 環(huán)境變量添加以下值:
%PCL_ROOT%\bin
%PCL_ROOT%\3rdParty\FLANN\bin
%PCL_ROOT%\3rdParty\VTK\bin
%PCL_ROOT%\3rdParty\Qhull\bin
%PCL_ROOT%\3rdParty\OpenNI2\Tools
以上就是 PCL1.10.1+VS2019+Qt5.14 下載、安裝及配置方法了终吼,希望對大家有所幫助~
如果覺得我的文章對你起到了些許的幫助镀赌,做下手指操點(diǎn)擊下面的大拇指??感謝~
我是專注自動(dòng)駕駛、Lidar感知际跪、三維點(diǎn)云處理商佛、激光SLAM領(lǐng)域的阿川,歡迎各位志同道合的朋友在下面積極留言姆打。欲將心事付瑤琴良姆,希望能在交流中收獲知識、經(jīng)驗(yàn)和摯友??