天天看点

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编译生成步骤一、准备好所有前置条件:二、环境变量的配置:三、构建并编译:

请根据自己安装的路径做相应的修改即可。