@[TOC]
前言
博主寫該文章時,使用的三個軟件均為最新版,踩了很多坑,先給大家探探路。吐血整理!??
本人之前學(xué)習(xí)三維點云處理時安裝過PCL,并且已經(jīng)在VS2017中配置成功(應(yīng)項目需求,需設(shè)計在Windows環(huán)境下運行的點云處理軟件)。相比于Linux,在Windows環(huán)境下配置PCL會出現(xiàn)更多的問題,整個過程更復(fù)雜,當(dāng)時也是收集了許多資料,踩了各種各樣的坑,奈何疏于記錄,整個流程和注意事項已忘了差不多了?,F(xiàn)在更換了電腦需要重新配置PCL,各種操作需要從頭再來。以防同樣尷尬的事情再次出現(xiàn),這次記錄下整個下載、配置過程分享給大家,不僅是為了沉淀過程、積累經(jīng)驗以備不時之需;也是給遇到同樣困惑的朋友們一個可參照的配置思路。
注意:因為本人現(xiàn)在使用的電腦已經(jīng)安裝好了VS2019和Qt5.14,并且深度使用過一段時間(平常有需求做用戶界面時,我是直接在Qt Creator上寫相關(guān)的代碼,沒有試過在VS上實現(xiàn)Qt的代碼。因此這次配置還要完成VS和Qt之間的連接)。這次就不考慮先卸載Qt和VS再安裝三個軟件,而是選擇直接安裝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可以點擊此處下載社區(qū)版(免費的)即可,具體安裝步驟可以上網(wǎng)查詢相關(guān)的帖子。
若早已安裝使用了VS2019,可以從
工具----獲取工具和功能來管理安裝的組件。2.2 Qt 5.14.2 下載安裝
2.2.1 本體組件管理
如果沒有安裝過Qt 5.14.2可以點擊此處下載即可,具體安裝步驟可以上網(wǎng)查詢相關(guān)的帖子。
若早已安裝使用了
Qt,需要查看有沒有安裝msvc組件。我當(dāng)時直接使用的Qt Creator,所以沒有安裝msvc組件。相比于VS,Qt的組件管理器沒放在界面中,使用起來頗為麻煩。在QT安裝目錄可以找到QT的組件管理軟件
MaintenanceTool此時默認(rèn)的
存儲庫不能用,只能手動配置。手動添加?儲存庫要定位一個儲存有Qt在線安裝鏡像的地址,http://download.qt.io/static/mirrorlist/這個網(wǎng)站,顯示中國有四個鏡像地址,挑選任意一個,點擊HTTP進(jìn)入一個網(wǎng)絡(luò)文件夾。進(jìn)入最終文件夾
/online/qtsdkrepository/windows_x86/root/qt/,復(fù)制當(dāng)前地址。利用復(fù)制的網(wǎng)址創(chuàng)建
臨時存儲庫。[圖片上傳失敗...(image-4c62f3-1586141234867)]
可以開始管理你的組件了!
勾選上
msvc2017 64-bit即可,目前組件還沒有msvc2019選項,勾選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ò)展一欄下邊就會出現(xiàn)Qt VS Tools,進(jìn)入Qt Options添加這兩個編譯器,設(shè)置
msvc2017_64為默認(rèn)編譯器。?? Qt和VS之間的配置已完成!
2.3 PCL 1.10.1 下載安裝
2.3.1 本體安裝
如果沒有安裝過Qt 5.14可以點擊此處下載即可。下載AllInOne和pdb文件
注意,在
GitHub上看到的版本是PCL團(tuán)隊公布的最新版本1.10.1;在PCL官網(wǎng)上可下載的最新的為1.6.0版本。我還沒去了解究竟是因為官網(wǎng)不再更新了還是說GitHub推出的只是測試版,本著買新不買舊的原則這次安裝1.10.1版本的。
PCL庫安裝一般有兩種方式:一種是下載PCL的所有第三方依賴庫以及PCL的源代碼后,自行進(jìn)行編譯安裝(在Linux上實現(xiàn)非常便捷,只需要在終端上敲命令即可),這樣做的好處是可以根據(jù)自己的需求修改源代碼;另一種是利用AllInOne版本進(jìn)行安裝,所有依賴在安裝PCL時自動安裝了。本文采用第二種安裝方式。
運行AllInOne文件
這里需要配置安裝的其他庫,如果自己不確定到底有沒有其他的軟件安裝過相關(guān)的庫,那么就全部都勾選了,否則庫的缺失會導(dǎo)致點云庫不能正常工作。
安裝過程中,會跳出
OpenNI2的單獨安裝對話框,將安裝路徑修改為 3rdParty/OpenNI2,即和其他 PCL 依賴的第三方庫放在一起,然后繼續(xù),完成 PCL 的安裝。解壓
pcl-1.9.0-pdb-msvc2017-win64.zip,將解壓得到的文件夾中的內(nèi)容添加到你的PCL安裝bin目錄中。安裝到此結(jié)束!
2.3.2 手動編譯VTK
PCL 依賴 VTK,在其 3rdParty 目錄下可以看到 VTK。那為什么還要手動編譯 VTK 呢?這是因為,PCL 安裝目錄下的 VTK 并不完整,其中就少了與 Qt 相關(guān)的模塊(比如 QVTKWidget)。所以我們需要手動編譯 VTK,并替換 PCL 3rdParty 下的 VTK。
可以發(fā)現(xiàn),PCL1.9.1 依賴 VTK8.2,所以我們編譯這個版本的 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 會檢測當(dāng)前環(huán)境,編譯器等,并生成緩存變量。第一次配置完成后,需要對一些緩存變量進(jìn)行修改,如 CMAKE_INSTALL_PREFIX,它規(guī)定了最后構(gòu)建的 VTK 安裝在什么地方,這個目錄可以隨意選擇,到時候拷貝到 PCL 3rdParty 目錄下即可。此外,可以選擇需要構(gòu)建的內(nèi)容:BUILD_DOCUMENTATION, BUILD_EXAMPLES, BUILD_SHARED_LIBS, BUILD_TESTING??紤]到?jīng)]有直接使用 VTK,而只是用于替換 PCL 中的 VTK,可以只勾選 BUILD_SHARED_LIBS,不對文檔、實例和測試進(jìn)行生成,這樣可以節(jié)省生成和構(gòu)建的時間。另外一個比較重要的是,要勾選 VTK_Group_Qt。具體如下圖所示,單擊 Configure,進(jìn)行配置。然后就會提示
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文件),其中包含了上百個即項目,默認(rèn)是 Debug x64 模式,右擊 ALL_BUILD 項目,選擇生成,生成完成后,右擊 INSTALL 項目,選擇生成,即開始安裝,將生成 debug 庫文件。待構(gòu)建完成后,切換為 Release x64 模式,按同樣的操作,生成 release 庫文件(構(gòu)建過程比較耗時,大概需要 2 個小時左右)。最終完成 VTK 的構(gòu)建,可以在先前配置的安裝目錄下找到構(gòu)建好的文件。最后,將構(gòu)建好的整個目錄拷貝至
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)變量中,這樣每個用戶不用單獨地設(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 下載、安裝及配置方法了,希望對大家有所幫助~
如果覺得我的文章對你起到了些許的幫助,做下手指操點擊下面的大拇指??感謝~
我是專注自動駕駛、Lidar感知、三維點云處理、激光SLAM領(lǐng)域的阿川,歡迎各位志同道合的朋友在下面積極留言。欲將心事付瑤琴,希望能在交流中收獲知識、經(jīng)驗和摯友??