天天看點

Windows平台下,voxelsdk編譯生成步驟一、準備好所有前置條件:二、環境變量的配置:三、建構并編譯:

本文參考:

(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 可選 圖像處理、顯示,與編譯無關 點選直達

以下是我編譯時所用的相關軟體及庫檔案版本:

Windows平台下,voxelsdk編譯生成步驟一、準備好所有前置條件:二、環境變量的配置:三、建構并編譯:

一些錯誤及注意事項:

(1)下圖摘自官方庫編譯指導說明

Windows平台下,voxelsdk編譯生成步驟一、準備好所有前置條件:二、環境變量的配置:三、建構并編譯:

(2)VoxelSDK主要有六個子產品,其中Voxel與TI3DToF是我們主要使用到的兩個子產品,如果不需要其他子產品,可在voxelsdk_master/CMakeLists.txt檔案中注釋掉相關項,如下圖所示(注釋使用‘#’号,在這裡我保留所有項):

Windows平台下,voxelsdk編譯生成步驟一、準備好所有前置條件:二、環境變量的配置:三、建構并編譯:

 (3)這裡需要注意的是,安裝PCL點雲庫的時候會有個添加環境變量的選項,建議勾上添加,友善後面環境變量的配置(如下圖)。

Windows平台下,voxelsdk編譯生成步驟一、準備好所有前置條件:二、環境變量的配置:三、建構并編譯:

此外,安裝快結束的時候會有一個OpenNI2的安裝程式彈出,這時候安裝路徑建議選擇PCL安裝目錄下 3rdParty目錄下的OpenNI2目錄,如 D:\PCL 1.8.0\3rdParty\OpenNI2。

Windows平台下,voxelsdk編譯生成步驟一、準備好所有前置條件:二、環境變量的配置:三、建構并編譯:

(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軟體相關使用說明:

Windows平台下,voxelsdk編譯生成步驟一、準備好所有前置條件:二、環境變量的配置:三、建構并編譯:

二、環境變量的配置:

安裝完所需要的軟體和庫之後,就需要我們配置環境變量了,這一步尤為重要,若忽略了在使用CMake生成解決方案時會出現找不到庫的錯誤,是以需要確定環境變量正确配置。以下就是軟體和庫安裝後需要配置的相關的環境變量(注意路徑)。

① 到系統界面,點選更改設定:

Windows平台下,voxelsdk編譯生成步驟一、準備好所有前置條件:二、環境變量的配置:三、建構并編譯:

②  彈出的對話框中選擇進階,右下角點選環境變量 

Windows平台下,voxelsdk編譯生成步驟一、準備好所有前置條件:二、環境變量的配置:三、建構并編譯:

③  在系統變量的Path中點選編輯添加需要配置的環境變量

Windows平台下,voxelsdk編譯生成步驟一、準備好所有前置條件:二、環境變量的配置:三、建構并編譯:

進入配置正題:

(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,如下:

Windows平台下,voxelsdk編譯生成步驟一、準備好所有前置條件:二、環境變量的配置:三、建構并編譯:

 然後在系統變量建立一個變量名為 PCL_ROOT,值為 PCL 安裝路徑,如下:

Windows平台下,voxelsdk編譯生成步驟一、準備好所有前置條件:二、環境變量的配置:三、建構并編譯:

 然後在 Path 變量中添加下列值(将 D:\PCL 1.8.0\bin 更改為 %PCL_ROOT%\bin)(修正:VKT改為VTK):

Windows平台下,voxelsdk編譯生成步驟一、準備好所有前置條件:二、環境變量的配置:三、建構并編譯:

(5) 最後再确認一下所有變量都已配置好:

Windows平台下,voxelsdk編譯生成步驟一、準備好所有前置條件:二、環境變量的配置:三、建構并編譯:

至此,編譯建構源碼的所有環境都已經準備好了,接下來就可以用CMake來編譯生成.sln工程了。

三、建構并編譯:

因為建構不需要Python,是以将 E:\Libraries\voxelsdk-master\Voxel 檔案夾下的CMakeLists.txt檔案中SWIG注釋掉,如下:

Windows平台下,voxelsdk編譯生成步驟一、準備好所有前置條件:二、環境變量的配置:三、建構并編譯:

以下是CMake建構的截圖: 

Windows平台下,voxelsdk編譯生成步驟一、準備好所有前置條件:二、環境變量的配置:三、建構并編譯:

Config成功後,點選Generating生成.sln解決方案: 

Windows平台下,voxelsdk編譯生成步驟一、準備好所有前置條件:二、環境變量的配置:三、建構并編譯:

 點選Open Project即可打開生成的工程,打開工程後右鍵AllBuild生成即可,在編譯結束後還需要添加一個重要的環境變量,即

VOXEL_SDK_PATH,值為build檔案夾(CMake填寫的生成工程路徑)所在路徑,如下:

Windows平台下,voxelsdk編譯生成步驟一、準備好所有前置條件:二、環境變量的配置:三、建構并編譯:

然後在Path中添加如下值, 確定程式運作能通過環境變量正确連結到我們的voxelsdk庫生成的dll與lib。

Windows平台下,voxelsdk編譯生成步驟一、準備好所有前置條件:二、環境變量的配置:三、建構并編譯:

我們将 VoxelCLI工程設為啟動項,按下F5,

Windows平台下,voxelsdk編譯生成步驟一、準備好所有前置條件:二、環境變量的配置:三、建構并編譯:

若不添加這個環境變量,将會出現以下錯誤:

Windows平台下,voxelsdk編譯生成步驟一、準備好所有前置條件:二、環境變量的配置:三、建構并編譯:

添加完VOXEL_SDK_PATH變量以及bin和lib之後,我們在運作以下VoxelCLI程式即可得到下圖結果,這就說明已經成功的編譯了voxelsdk庫了,接下來隻要接上裝置就可以使用這個程式做相關操作了。

Windows平台下,voxelsdk編譯生成步驟一、準備好所有前置條件:二、環境變量的配置:三、建構并編譯:

最後最後上一張所有的環境變量:

系統變量中:

Windows平台下,voxelsdk編譯生成步驟一、準備好所有前置條件:二、環境變量的配置:三、建構并編譯:
Windows平台下,voxelsdk編譯生成步驟一、準備好所有前置條件:二、環境變量的配置:三、建構并編譯:

Path變量中:

Windows平台下,voxelsdk編譯生成步驟一、準備好所有前置條件:二、環境變量的配置:三、建構并編譯:

請根據自己安裝的路徑做相應的修改即可。