本文參考:
(1) (gua_MASS大神的博文);
(2) (官方庫指導)。
首先下載下傳好voxelsdk(下載下傳直達)。
一、準備好所有前置條件:
準備好所有前置條件,即VoxelSDK所依賴的第三方庫和軟體的安裝,編譯需要注意,64位與32位要對應,即若需要的是64位的工程,則第三方依賴庫也需要是64位的,反之亦然,我編譯的是64位的,是以以下所提的軟體與庫都是64位(OpenCV是我工程所需,是以這裡順便安裝了,可忽略此項):
名稱 | 版本要求 | 備注 | 說明 | 下載下傳 |
---|---|---|---|---|
Vistual Studio | 2013及以上 | 必選 | VoxelSDK含有C++11新特性,2013之前的版本對于C++11的支援可能不夠 | \ |
CMake | 2.8.13及以上 | 必選 | 用于編譯生成VS解決方案 | 點選直達 |
PCL | 1.7.2及以上 | 必選 | 用于VoxelSDK中APP子產品測試程式點雲擷取和顯示。安裝推薦使用别人已經編譯打包好的 All_in_One 形式安裝包安裝,PCL源碼編譯有點繁瑣,不推薦從源碼編譯 | 點選直達 |
Qt | 5.4及以上 | 必選 | 主要針對于VoxelSDK中VoxelPCL子產品編譯需要 | 點選直達 |
CySuiteUSB | 3.4.7及以上 | 必選 | 深度相機通過USB進行資料傳輸,該庫提供了對USB裝置的相關操作接口 | 點選直達 |
OpenCV | 3.1.0 | 可選 | 圖像處理、顯示,與編譯無關 | 點選直達 |
以下是我編譯時所用的相關軟體及庫檔案版本:
一些錯誤及注意事項:
(1)下圖摘自官方庫編譯指導說明
(2)VoxelSDK主要有六個子產品,其中Voxel與TI3DToF是我們主要使用到的兩個子產品,如果不需要其他子產品,可在voxelsdk_master/CMakeLists.txt檔案中注釋掉相關項,如下圖所示(注釋使用‘#’号,在這裡我保留所有項):
(3)這裡需要注意的是,安裝PCL點雲庫的時候會有個添加環境變量的選項,建議勾上添加,友善後面環境變量的配置(如下圖)。
此外,安裝快結束的時候會有一個OpenNI2的安裝程式彈出,這時候安裝路徑建議選擇PCL安裝目錄下 3rdParty目錄下的OpenNI2目錄,如 D:\PCL 1.8.0\3rdParty\OpenNI2。
(4)CySuiteUSB 安裝完成後需在安裝目錄下(如D:\Libraries\Cypress\Cypress Suite USB 3.4.7\CyAPI)中的 inc 與 lib 檔案夾中分别講 CyAPI 頭檔案與庫檔案複制出來,在 VoxelSDK 下的 Voxel 檔案夾中建立一個名為 CyAPI 的檔案夾,将頭檔案及庫檔案複制到 CyAPI 檔案夾中(如 E:\Libraries\voxelsdk-master\Voxel\CyAPI)。
>>CMake軟體相關使用說明:
二、環境變量的配置:
安裝完所需要的軟體和庫之後,就需要我們配置環境變量了,這一步尤為重要,若忽略了在使用CMake生成解決方案時會出現找不到庫的錯誤,是以需要確定環境變量正确配置。以下就是軟體和庫安裝後需要配置的相關的環境變量(注意路徑)。
① 到系統界面,點選更改設定:
② 彈出的對話框中選擇進階,右下角點選環境變量
③ 在系統變量的Path中點選編輯添加需要配置的環境變量
進入配置正題:
(1) CMake,在Path中添加CMake安裝目錄下的bin目錄,如 D:\Program Files\CMake\bin;
(2) Qt,添加Qt安裝目錄下的bin目錄,如 D:\Qt\Qt5.4.0\5.4\msvc2013_64\bin;
(3) PCL點雲庫,如果在安裝 PCL 點雲庫的時候選擇了添加環境變量,那麼系統變量下将會多出三個 OpenNI 的變量以及 Path 變量中D:\PCL 1.8.0\bin,如下:
然後在系統變量建立一個變量名為 PCL_ROOT,值為 PCL 安裝路徑,如下:
然後在 Path 變量中添加下列值(将 D:\PCL 1.8.0\bin 更改為 %PCL_ROOT%\bin)(修正:VKT改為VTK):
(5) 最後再确認一下所有變量都已配置好:
至此,編譯建構源碼的所有環境都已經準備好了,接下來就可以用CMake來編譯生成.sln工程了。
三、建構并編譯:
因為建構不需要Python,是以将 E:\Libraries\voxelsdk-master\Voxel 檔案夾下的CMakeLists.txt檔案中SWIG注釋掉,如下:
以下是CMake建構的截圖:
Config成功後,點選Generating生成.sln解決方案:
點選Open Project即可打開生成的工程,打開工程後右鍵AllBuild生成即可,在編譯結束後還需要添加一個重要的環境變量,即
VOXEL_SDK_PATH,值為build檔案夾(CMake填寫的生成工程路徑)所在路徑,如下:
然後在Path中添加如下值, 確定程式運作能通過環境變量正确連結到我們的voxelsdk庫生成的dll與lib。
我們将 VoxelCLI工程設為啟動項,按下F5,
若不添加這個環境變量,将會出現以下錯誤:
添加完VOXEL_SDK_PATH變量以及bin和lib之後,我們在運作以下VoxelCLI程式即可得到下圖結果,這就說明已經成功的編譯了voxelsdk庫了,接下來隻要接上裝置就可以使用這個程式做相關操作了。
最後最後上一張所有的環境變量:
系統變量中:
Path變量中:
請根據自己安裝的路徑做相應的修改即可。