简述
PCL(Point Cloud Library)作为一个优秀的点云库,目前已经开源并且集成了许多优秀学者提出的高效的算法,值得深入学习。本文将以Windows 10和Visual Studio 2017开发环境为例,讲解如何配置点云库。
环境
- Windows
- Visual Studio
准备工作
安装Visual Studio
教程中使用的是Visual Studio 2017 Enterprise版本,具体的安装方式可从其他网站中搜索到,在此不做赘述。
安装PCL 1.8
首先去https://github.com/PointCloudLibrary/pcl/releases下载点云库的安装包,我们需要的是AllInOne
和pdb
两个包。截止到此教程发布的时间,点云库的最新版本是1.8.1,如下图所示。
在这里需要根据自己机器的情况下载相应的版本(操作系统的位数,以及Visual Studio的版本)。我这里选择PCL-1.8.1-AllInOne-msvc2017-win64.exe
和pcl-1.8.1-pdb-msvc2017-win64.zip
两个文件。
这两个包根据网速不同,下载的时间也不同,耐心等待即可。
下载结束之后,运行我们下载得到的PCL-1.8.1-AllInOne-msvc2017-win64.exe
文件进行安装。下面几幅图显示出了几个必要的步骤,未做说明的步骤直接下一步或者根据自己的喜好配置即可。
我在安装这类库相关的软件的时候都会尽量避免在路径中带有空格,因为有些软件在检查路径的时候可能会由于空格引发各种问题。因此我把默认的路径中的空格换成了下划线_
。当然,Windows默认的Program Files目录无视这条规则,毕竟微软自己设置的目录名不会出现路径的问题。因此,我这里设置的路径是C:\Program Files\PCL_1_8_1
。
这里需要配置需要安装的其他库,如果自己不确定到底有没有其他的软件安装过相关的库,那么就全部都勾选了,否则由于库的缺失,点云库就不能正常工作。
接下来点击安装
便可以开始漫长的安装过程。
一段时间之后,会弹出来一个OpenNI2的安装窗口,此时直接一路下一步就好,但是一定要记住自己设置的安装路径。由于点云在安装的过程中会把所有的第三方库全部安装在点云安装目录下的3rdparty
文件夹里。因此,为了保持文件夹的整洁,我这里也把OpenNI2安装在3rdparty
文件夹里,即C:\Program Files\PCL_1_8_1\3rdParty\OpenNI2
。
OpenNI2安装结束之后就完成了点云库的完整安装,安装目录下的样子和3rdparty
文件夹下的样子如下图:
可以看到,我把所有的第三方库全部安装到了3rdparty
文件夹中。
环境变量配置
点云库安装完成之后,还有一个比较重要的步骤,就是配置Windows的环境变量。
右键点击此电脑(我的电脑,计算机,这台电脑等名字)
,选择属性
,接着点击左侧的高级系统设置
,然后选择高级
选项卡,点击下面的环境变量...
按钮,此时便打开了环境变量的配置窗口。
此时,我们可以看到PCL的根目录以及OpenNI2的目录已经添加到了系统变量
中。
然后,我们双击系统变量
中的Path
,再将以下的目录添加到Path
中(注意最后一个OpenNI2的路径,要和自己刚刚安装的路径一样才行):
1 2 3 4 5 6 | %PCL_ROOT%\bin %PCL_ROOT%\3rdParty\VTK\bin %PCL_ROOT%\3rdParty\FLANN\bin %OPENNI2_REDIST64% %PCL_ROOT%\3rdParty\Qhull\bin %PCL_ROOT%\3rdParty\OpenNI2\Tools |
如果用的电脑的操作系统是Windows 10的话,就上面几个路径一个一个复制下来,然后添加到Path
的窗格中即可,非常方便,如下图所示:
如果是其他版本的Windows系统,则需要把上面的几个路径写成下面的这种形式,然后叠加到Path
环境变量的后面(具体的做法可以去搜索Windows 7环境变量的配置方式):
1 | %PCL_ROOT%\bin;%PCL_ROOT%\3rdParty\VTK\bin;%PCL_ROOT%\3rdParty\FLANN\bin;%OPENNI2_REDIST64%;%PCL_ROOT%\3rdParty\Qhull\bin;%PCL_ROOT%\3rdParty\OpenNI2\Tools |
以上步骤搞定之后,重启电脑来应用环境变量。
Visual Studio开发环境配置
Visual Studio的环境配置比较麻烦,经常一堆错误。因此,下面的步骤需要仔细的按照步骤做。
Visual Studio提供了两种编译模式:Debug和Release。Debug模式下,生成的应用程序中会插入许多的调试指令,因此调试起来及其方便,但是大幅度降低了程序的运行速度;Release模式便会提高程序的速度,但是调试相对较困难一些(具体的区别请自行去Baidu或者Google)。在某些需求下,可能需要处理大量的数据,因此需要使用Release模式生成应用程序。本教程将对两种模式分别进行配置,适应不同的需求。
首先打开Visual Studio,然后新建一个C++工程,我这里创建的C++工程名字是pcl_test
。具体创建过程在此不做赘述,如下图所示:
接下来,右键点击解决方案管理器
中的pcl_test
,然后选择属性
。这时便打开了项目属性窗口。
我们先来配置Debug模式。首先在窗口最上方选择Debug
,然后选择自己在下载点云库时候选择的平台,我这里选择x64
(注意这里一定不要选错),如下图所示:
接着点击该窗口左侧的VC++ 目录
,然后点击右侧的包含目录
右侧的下拉菜单,选择编辑...
,将以下目录填入窗口中:
- C:\Program Files\PCL_1_8_1\3rdParty\OpenNI2\Include
- C:\Program Files\PCL_1_8_1\include\pcl-
1.8
- C:\Program Files\PCL_1_8_1\3rdParty\VTK\include\vtk-
8.0
- C:\Program Files\PCL_1_8_1\3rdParty\QHull\include
- C:\Program Files\PCL_1_8_1\3rdParty\FLANN\include
- C:\Program Files\PCL_1_8_1\3rdParty\Eigen\eigen
3
- C:\Program Files\PCL_1_8_1\3rdParty\Boost\include\boost-
1_64
注意:这里的C:\Program Files\PCL_1_8_1
是刚刚安装点云库的路径,根据刚刚安装点云的路径进行修改。同时还要注意高亮字体的版本问题,需要打开相关目录进行检查。比如我这里的vtk就是8.0
的,而boost是1.64
版本的。配置好之后点击确定
即可如下图所示:
然后点击右侧的库目录
右侧的下拉菜单,选择编辑...
,将以下目录填入窗口中:
- C:\Program Files\PCL_1_8_1\3rdParty\OpenNI2\Lib
- C:\Program Files\PCL_1_8_1\3rdParty\VTK\lib
- C:\Program Files\PCL_1_8_1\3rdParty\Qhull\lib
- C:\Program Files\PCL_1_8_1\3rdParty\FLANN\lib
- C:\Program Files\PCL_1_8_1\3rdParty\Boost\lib
- C:\Program Files\PCL_1_8_1\lib
同样需要注意路径问题,配置好之后点击确定
即可,如下图所示:
然后点击属性页中的C/C++
下的预处理器
,点击右侧的预处理器定义
右侧的下拉菜单,选择编辑...
,添加如下两条定义:
1 2 | _SCL_SECURE_NO_WARNINGS _CRT_SECURE_NO_WARNINGS |
然后再点击预编译头
,将右侧的预编译头
设置为不使用预编译头
。这个设置可以依据自己的习惯决定,可以省略。
接着点击属性页中的链接器
下的输入
,点击右侧的附加依赖项
右侧的下拉菜单,选择编辑...
,将如下文件名填写到窗口中:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 | vtknetcdf_c++-gd.lib pcl_common_debug.lib pcl_features_debug.lib pcl_filters_debug.lib pcl_io_ply_debug.lib pcl_io_debug.lib pcl_kdtree_debug.lib pcl_keypoints_debug.lib pcl_ml_debug.lib pcl_octree_debug.lib pcl_outofcore_debug.lib pcl_people_debug.lib pcl_recognition_debug.lib pcl_registration_debug.lib pcl_sample_consensus_debug.lib pcl_search_debug.lib pcl_segmentation_debug.lib pcl_stereo_debug.lib pcl_surface_debug.lib pcl_tracking_debug.lib pcl_visualization_debug.lib libboost_atomic-vc141-mt-gd-1_64.lib libboost_bzip2-vc141-mt-gd-1_64.lib libboost_chrono-vc141-mt-gd-1_64.lib libboost_container-vc141-mt-gd-1_64.lib libboost_context-vc141-mt-gd-1_64.lib libboost_coroutine-vc141-mt-gd-1_64.lib libboost_date_time-vc141-mt-gd-1_64.lib libboost_exception-vc141-mt-gd-1_64.lib libboost_fiber-vc141-mt-gd-1_64.lib libboost_filesystem-vc141-mt-gd-1_64.lib libboost_graph-vc141-mt-gd-1_64.lib libboost_graph_parallel-vc141-mt-gd-1_64.lib libboost_iostreams-vc141-mt-gd-1_64.lib libboost_locale-vc141-mt-gd-1_64.lib libboost_log-vc141-mt-gd-1_64.lib libboost_log_setup-vc141-mt-gd-1_64.lib libboost_math_c99-vc141-mt-gd-1_64.lib libboost_math_c99f-vc141-mt-gd-1_64.lib libboost_math_c99l-vc141-mt-gd-1_64.lib libboost_math_tr1-vc141-mt-gd-1_64.lib libboost_math_tr1f-vc141-mt-gd-1_64.lib libboost_math_tr1l-vc141-mt-gd-1_64.lib libboost_mpi-vc141-mt-gd-1_64.lib libboost_numpy3-vc141-mt-gd-1_64.lib libboost_numpy-vc141-mt-gd-1_64.lib libboost_prg_exec_monitor-vc141-mt-gd-1_64.lib libboost_program_options-vc141-mt-gd-1_64.lib libboost_python3-vc141-mt-gd-1_64.lib libboost_python-vc141-mt-gd-1_64.lib libboost_random-vc141-mt-gd-1_64.lib libboost_regex-vc141-mt-gd-1_64.lib libboost_serialization-vc141-mt-gd-1_64.lib libboost_signals-vc141-mt-gd-1_64.lib libboost_system-vc141-mt-gd-1_64.lib libboost_test_exec_monitor-vc141-mt-gd-1_64.lib libboost_thread-vc141-mt-gd-1_64.lib libboost_timer-vc141-mt-gd-1_64.lib libboost_type_erasure-vc141-mt-gd-1_64.lib libboost_unit_test_framework-vc141-mt-gd-1_64.lib libboost_wave-vc141-mt-gd-1_64.lib libboost_wserialization-vc141-mt-gd-1_64.lib libboost_zlib-vc141-mt-gd-1_64.lib flann-gd.lib flann_cpp-gd.lib flann_cpp_s-gd.lib flann_s-gd.lib qhull_d.lib qhullcpp_d.lib qhullstatic_d.lib qhullstatic_r_d.lib qhull_p_d.lib qhull_r_d.lib vtkalglib-8.0-gd.lib vtkChartsCore-8.0-gd.lib vtkCommonColor-8.0-gd.lib vtkCommonComputationalGeometry-8.0-gd.lib vtkCommonCore-8.0-gd.lib vtkCommonDataModel-8.0-gd.lib vtkCommonExecutionModel-8.0-gd.lib vtkCommonMath-8.0-gd.lib vtkCommonMisc-8.0-gd.lib vtkCommonSystem-8.0-gd.lib vtkCommonTransforms-8.0-gd.lib vtkDICOMParser-8.0-gd.lib vtkDomainsChemistry-8.0-gd.lib vtkexoIIc-8.0-gd.lib vtkexpat-8.0-gd.lib vtkFiltersAMR-8.0-gd.lib vtkFiltersCore-8.0-gd.lib vtkFiltersExtraction-8.0-gd.lib vtkFiltersFlowPaths-8.0-gd.lib vtkFiltersGeneral-8.0-gd.lib vtkFiltersGeneric-8.0-gd.lib vtkFiltersGeometry-8.0-gd.lib vtkFiltersHybrid-8.0-gd.lib vtkFiltersHyperTree-8.0-gd.lib vtkFiltersImaging-8.0-gd.lib vtkFiltersModeling-8.0-gd.lib vtkFiltersParallel-8.0-gd.lib vtkFiltersParallelImaging-8.0-gd.lib vtkFiltersPoints-8.0-gd.lib vtkFiltersProgrammable-8.0-gd.lib vtkFiltersSelection-8.0-gd.lib vtkFiltersSMP-8.0-gd.lib vtkFiltersSources-8.0-gd.lib vtkFiltersStatistics-8.0-gd.lib vtkFiltersTexture-8.0-gd.lib vtkFiltersTopology-8.0-gd.lib vtkFiltersVerdict-8.0-gd.lib vtkfreetype-8.0-gd.lib vtkGeovisCore-8.0-gd.lib vtkgl2ps-8.0-gd.lib vtkhdf5-8.0-gd.lib vtkhdf5_hl-8.0-gd.lib vtkImagingColor-8.0-gd.lib vtkImagingCore-8.0-gd.lib vtkImagingFourier-8.0-gd.lib vtkImagingGeneral-8.0-gd.lib vtkImagingHybrid-8.0-gd.lib vtkImagingMath-8.0-gd.lib vtkImagingMorphological-8.0-gd.lib vtkImagingSources-8.0-gd.lib vtkImagingStatistics-8.0-gd.lib vtkImagingStencil-8.0-gd.lib vtkInfovisCore-8.0-gd.lib vtkInfovisLayout-8.0-gd.lib vtkInteractionImage-8.0-gd.lib vtkInteractionStyle-8.0-gd.lib vtkInteractionWidgets-8.0-gd.lib vtkIOAMR-8.0-gd.lib vtkIOCore-8.0-gd.lib vtkIOEnSight-8.0-gd.lib vtkIOExodus-8.0-gd.lib vtkIOExport-8.0-gd.lib vtkIOExportOpenGL-8.0-gd.lib vtkIOGeometry-8.0-gd.lib vtkIOImage-8.0-gd.lib vtkIOImport-8.0-gd.lib vtkIOInfovis-8.0-gd.lib vtkIOLegacy-8.0-gd.lib vtkIOLSDyna-8.0-gd.lib vtkIOMINC-8.0-gd.lib vtkIOMovie-8.0-gd.lib vtkIONetCDF-8.0-gd.lib vtkIOParallel-8.0-gd.lib vtkIOParallelXML-8.0-gd.lib vtkIOPLY-8.0-gd.lib vtkIOSQL-8.0-gd.lib vtkIOTecplotTable-8.0-gd.lib vtkIOVideo-8.0-gd.lib vtkIOXML-8.0-gd.lib vtkIOXMLParser-8.0-gd.lib vtkjpeg-8.0-gd.lib vtkjsoncpp-8.0-gd.lib vtklibharu-8.0-gd.lib vtklibxml2-8.0-gd.lib vtklz4-8.0-gd.lib vtkmetaio-8.0-gd.lib vtkNetCDF-8.0-gd.lib vtkoggtheora-8.0-gd.lib vtkParallelCore-8.0-gd.lib vtkpng-8.0-gd.lib vtkproj4-8.0-gd.lib vtkRenderingAnnotation-8.0-gd.lib vtkRenderingContext2D-8.0-gd.lib vtkRenderingContextOpenGL-8.0-gd.lib vtkRenderingCore-8.0-gd.lib vtkRenderingFreeType-8.0-gd.lib vtkRenderingGL2PS-8.0-gd.lib vtkRenderingImage-8.0-gd.lib vtkRenderingLabel-8.0-gd.lib vtkRenderingLIC-8.0-gd.lib vtkRenderingLOD-8.0-gd.lib vtkRenderingOpenGL-8.0-gd.lib vtkRenderingVolume-8.0-gd.lib vtkRenderingVolumeOpenGL-8.0-gd.lib vtksqlite-8.0-gd.lib vtksys-8.0-gd.lib vtktiff-8.0-gd.lib vtkverdict-8.0-gd.lib vtkViewsContext2D-8.0-gd.lib vtkViewsCore-8.0-gd.lib vtkViewsInfovis-8.0-gd.lib vtkzlib-8.0-gd.lib opengl32.lib |
注意:这些文件名中涉及到版本问题。libboost_atomic-vc141-mt-gd-1_64.lib
等文件中的vc141
、1_64
等文字需要到C:\Program Files\PCL_1_8_1\3rdParty\Boost\lib
文件夹下进行确认后修改;vtkalglib-8.0-gd.lib
等文件中的8.0
需要到C:\Program Files\PCL_1_8_1\3rdParty\VTK\lib
文件夹下进行确认后修改。同样,这两个路径根据自己电脑的安装情况而定。
这时,点击确定,我们在Debug模式下的点云开发环境就配置完成了。去网上找个实例代码粘贴,如果成功编译运行就代表配置成功了。
接下来说一下Release模式的配置。还是右键点击解决方案管理器
中的pcl_test
,然后选择属性
,然后在窗口最上方选择Release
,然后选择自己在下载点云库时候选择的平台。
然后按照Debug模式的配置方式依次配置,只是链接器
下的输入
中的附加依赖项
中的文件列表不相同,需要填写为下面的文件:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 | pcl_common_release.lib pcl_features_release.lib pcl_filters_release.lib pcl_io_release.lib pcl_io_ply_release.lib pcl_kdtree_release.lib pcl_keypoints_release.lib pcl_ml_release.lib pcl_octree_release.lib pcl_outofcore_release.lib pcl_people_release.lib pcl_recognition_release.lib pcl_registration_release.lib pcl_sample_consensus_release.lib pcl_search_release.lib pcl_segmentation_release.lib pcl_stereo_release.lib pcl_surface_release.lib pcl_tracking_release.lib pcl_visualization_release.lib libboost_atomic-vc141-mt-1_64.lib libboost_chrono-vc141-mt-1_64.lib libboost_container-vc141-mt-1_64.lib libboost_context-vc141-mt-1_64.lib libboost_coroutine-vc141-mt-1_64.lib libboost_date_time-vc141-mt-1_64.lib libboost_exception-vc141-mt-1_64.lib libboost_filesystem-vc141-mt-1_64.lib libboost_graph-vc141-mt-1_64.lib libboost_iostreams-vc141-mt-1_64.lib libboost_locale-vc141-mt-1_64.lib libboost_log-vc141-mt-1_64.lib libboost_log_setup-vc141-mt-1_64.lib libboost_math_c99-vc141-mt-1_64.lib libboost_math_c99f-vc141-mt-1_64.lib libboost_math_c99l-vc141-mt-1_64.lib libboost_math_tr1-vc141-mt-1_64.lib libboost_math_tr1f-vc141-mt-1_64.lib libboost_math_tr1l-vc141-mt-1_64.lib libboost_mpi-vc141-mt-1_64.lib libboost_prg_exec_monitor-vc141-mt-1_64.lib libboost_program_options-vc141-mt-1_64.lib libboost_random-vc141-mt-1_64.lib libboost_regex-vc141-mt-1_64.lib libboost_serialization-vc141-mt-1_64.lib libboost_signals-vc141-mt-1_64.lib libboost_system-vc141-mt-1_64.lib libboost_test_exec_monitor-vc141-mt-1_64.lib libboost_thread-vc141-mt-1_64.lib libboost_timer-vc141-mt-1_64.lib libboost_unit_test_framework-vc141-mt-1_64.lib libboost_wave-vc141-mt-1_64.lib libboost_wserialization-vc141-mt-1_64.lib vtkalglib-8.0.lib vtkChartsCore-8.0.lib vtkCommonColor-8.0.lib vtkCommonComputationalGeometry-8.0.lib vtkCommonCore-8.0.lib vtkCommonDataModel-8.0.lib vtkCommonExecutionModel-8.0.lib vtkCommonMath-8.0.lib vtkCommonMisc-8.0.lib vtkCommonSystem-8.0.lib vtkCommonTransforms-8.0.lib vtkDICOMParser-8.0.lib vtkDomainsChemistry-8.0.lib vtkexoIIc-8.0.lib vtkexpat-8.0.lib vtkFiltersAMR-8.0.lib vtkFiltersCore-8.0.lib vtkFiltersExtraction-8.0.lib vtkFiltersFlowPaths-8.0.lib vtkFiltersGeneral-8.0.lib vtkFiltersGeneric-8.0.lib vtkFiltersGeometry-8.0.lib vtkFiltersHybrid-8.0.lib vtkFiltersHyperTree-8.0.lib vtkFiltersImaging-8.0.lib vtkFiltersModeling-8.0.lib vtkFiltersParallel-8.0.lib vtkFiltersParallelImaging-8.0.lib vtkFiltersPoints-8.0.lib vtkFiltersProgrammable-8.0.lib vtkFiltersSelection-8.0.lib vtkFiltersSMP-8.0.lib vtkFiltersSources-8.0.lib vtkFiltersStatistics-8.0.lib vtkFiltersTexture-8.0.lib vtkFiltersTopology-8.0.lib vtkFiltersVerdict-8.0.lib vtkfreetype-8.0.lib vtkGeovisCore-8.0.lib vtkgl2ps-8.0.lib vtkhdf5-8.0.lib vtkhdf5_hl-8.0.lib vtkImagingColor-8.0.lib vtkImagingCore-8.0.lib vtkImagingFourier-8.0.lib vtkImagingGeneral-8.0.lib vtkImagingHybrid-8.0.lib vtkImagingMath-8.0.lib vtkImagingMorphological-8.0.lib vtkImagingSources-8.0.lib vtkImagingStatistics-8.0.lib vtkImagingStencil-8.0.lib vtkInfovisCore-8.0.lib vtkInfovisLayout-8.0.lib vtkInteractionImage-8.0.lib vtkInteractionStyle-8.0.lib vtkInteractionWidgets-8.0.lib vtkIOAMR-8.0.lib vtkIOCore-8.0.lib vtkIOEnSight-8.0.lib vtkIOExodus-8.0.lib vtkIOExport-8.0.lib vtkIOExportOpenGL-8.0.lib vtkIOGeometry-8.0.lib vtkIOImage-8.0.lib vtkIOImport-8.0.lib vtkIOInfovis-8.0.lib vtkIOLegacy-8.0.lib vtkIOLSDyna-8.0.lib vtkIOMINC-8.0.lib vtkIOMovie-8.0.lib vtkIONetCDF-8.0.lib vtkIOParallel-8.0.lib vtkIOParallelXML-8.0.lib vtkIOPLY-8.0.lib vtkIOSQL-8.0.lib vtkIOTecplotTable-8.0.lib vtkIOVideo-8.0.lib vtkIOXML-8.0.lib vtkIOXMLParser-8.0.lib vtkjpeg-8.0.lib vtkjsoncpp-8.0.lib vtklibharu-8.0.lib vtklibxml2-8.0.lib vtklz4-8.0.lib vtkmetaio-8.0.lib vtkNetCDF-8.0.lib vtknetcdf_c++.lib vtkoggtheora-8.0.lib vtkParallelCore-8.0.lib vtkpng-8.0.lib vtkproj4-8.0.lib vtkRenderingAnnotation-8.0.lib vtkRenderingContext2D-8.0.lib vtkRenderingContextOpenGL-8.0.lib vtkRenderingCore-8.0.lib vtkRenderingFreeType-8.0.lib vtkRenderingGL2PS-8.0.lib vtkRenderingImage-8.0.lib vtkRenderingLabel-8.0.lib vtkRenderingLIC-8.0.lib vtkRenderingLOD-8.0.lib vtkRenderingOpenGL-8.0.lib vtkRenderingVolume-8.0.lib vtkRenderingVolumeOpenGL-8.0.lib vtksqlite-8.0.lib vtksys-8.0.lib vtktiff-8.0.lib vtkverdict-8.0.lib vtkViewsContext2D-8.0.lib vtkViewsCore-8.0.lib vtkViewsInfovis-8.0.lib vtkzlib-8.0.lib flann.lib flann_cpp.lib flann_cpp_s.lib flann_s.lib qhullcpp_d.lib qhullstatic.lib qhullstatic_r.lib qhull.lib qhull_p.lib qhull_r.lib OpenNI2.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib comctl32.lib wsock32.lib glu32.lib opengl32.lib ws2_32.lib Psapi.lib |
同样需要注意版本问题。
这样,我们的Debug模式和Release模式就全部配置完成了,根据自己的需要选择即可。为了减少其他工程配置的负担,可以将这些配置保存为属性表,方法可以自行搜索,在此就不做赘述了。