pcl+vs2012+win7(32位)配置環境

      PCL+ VS2012 + WIN7(32位)環境配置,大部分C++庫配置都可作爲參考,總體思路相同。

      由於實驗項目在三維建模遇到困難,自己寫的三維曲面重建效果不佳,又苦於圖像濾波處理方法的參考方法較少,需要藉助PCL豐富的第三方庫,實現三維數據的處理與展示。因此着手準備安裝PCL,中間經歷多次重裝,特記下此經歷:

一則 方便日後再次PCL時查找相關資料的繁瑣,能夠快速完成PCL庫的安裝,省去不必要的麻煩。

二則 爲日後安裝其他C++相關庫積累些經驗,提高庫安裝的速度。

一:配置文件準備

特別注意:(1)需要下載自己電腦位數和VS對應的版本

                  (2)下載後安裝路徑需記住,最好安裝在一個目錄中

1:首先下載PCL-1.7.2-AllInOne-msvc2012-win32,鏈接:http://pan.baidu.com/s/1bnB4I79

安裝完成後右鍵點擊 運行,見下圖,點擊下一步,自己選擇安裝路徑。本人安裝在  D:\PCL1.72

安裝完成後見下圖,3rdParty包含其他需要的文件。

2:下載OpenNI1.5.4,下載地址https://sourceforge.net/projects/pointclouds/files/dependencies/OpenNI-Win32-1.5.4-Dev.msi/download

下載完成後見下圖,直接點擊運行安裝,安裝路徑自己設置。本人安裝在  D:\PCL1.72\OpenNI1.5.4

二:系統環境設置

1:右擊計算機 >>>屬性>>>高級系統設置>>>環境變量,在用戶變量下新建PCL,值爲安裝目錄。

2:在用戶變量的PATH下添加路徑: 

注意:(1)添加變量路徑要用英文符號分隔開

           (2)檢測路徑設置是否正確,根據自己的安裝路徑設置,並重啓電腦

D:\PCL1.72\bin;

D:\PCL1.72\3rdParty\OpenNI\Bin;

D:\PCL1.72\3rdParty\FLANN\bin;

D:\PCL1.72\3rdParty\QHull\bin;

D:\PCL1.72\3rdParty\VTK\bin;

三:工程項目配置

1:創建C++空項目,在屬性管理器中新建項目屬性表。見下圖

2:打開新建屬性表,點擊VC++目錄>>>包含庫目錄>>>編輯,見下圖

在包含目錄中添加安裝完成的所有include文件夾,外加一個3rdParty中的Eigen文件夾。注意(倒二個文件夾是OpenNI的include,添加這個include的時候要找到自己文件對應的路徑)

同時,添加庫目錄的所有lib文件夾,和庫目錄一樣的方法,添加所有lib文件夾。注意(倒二個文件夾是OpenNI的Lib)

3:添加lib文件

打開連接器>>> 輸入>>>附加依賴項>>>編輯,輸入以下.lib文件

pcl_common_debug.lib
pcl_features_debug.lib
pcl_filters_debug.lib
pcl_io_debug.lib
pcl_io_ply_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-vc110-mt-1_55.lib
libboost_atomic-vc110-mt-gd-1_55.lib
libboost_chrono-vc110-mt-1_55.lib
libboost_chrono-vc110-mt-gd-1_55.lib
libboost_context-vc110-mt-1_55.lib
libboost_context-vc110-mt-gd-1_55.lib
libboost_coroutine-vc110-mt-1_55.lib
libboost_coroutine-vc110-mt-gd-1_55.lib
libboost_date_time-vc110-mt-1_55.lib
libboost_date_time-vc110-mt-gd-1_55.lib
libboost_exception-vc110-mt-1_55.lib
libboost_exception-vc110-mt-gd-1_55.lib
libboost_filesystem-vc110-mt-1_55.lib
libboost_filesystem-vc110-mt-gd-1_55.lib
libboost_graph_parallel-vc110-mt-1_55.lib
libboost_graph_parallel-vc110-mt-gd-1_55.lib
libboost_graph-vc110-mt-1_55.lib
libboost_graph-vc110-mt-gd-1_55.lib
libboost_iostreams-vc110-mt-1_55.lib
libboost_iostreams-vc110-mt-gd-1_55.lib
libboost_locale-vc110-mt-1_55.lib
libboost_locale-vc110-mt-gd-1_55.lib
libboost_log_setup-vc110-mt-1_55.lib
libboost_log_setup-vc110-mt-gd-1_55.lib
libboost_log-vc110-mt-1_55.lib
libboost_log-vc110-mt-gd-1_55.lib
libboost_math_c99-vc110-mt-1_55.lib
libboost_math_c99-vc110-mt-gd-1_55.lib
libboost_math_c99f-vc110-mt-1_55.lib
libboost_math_c99f-vc110-mt-gd-1_55.lib
libboost_math_c99l-vc110-mt-1_55.lib
libboost_math_c99l-vc110-mt-gd-1_55.lib
libboost_math_tr1-vc110-mt-1_55.lib
libboost_math_tr1-vc110-mt-gd-1_55.lib
libboost_math_tr1f-vc110-mt-1_55.lib
libboost_math_tr1f-vc110-mt-gd-1_55.lib
libboost_math_tr1l-vc110-mt-1_55.lib
libboost_math_tr1l-vc110-mt-gd-1_55.lib
libboost_mpi-vc110-mt-1_55.lib
libboost_mpi-vc110-mt-gd-1_55.lib
libboost_prg_exec_monitor-vc110-mt-1_55.lib
libboost_prg_exec_monitor-vc110-mt-gd-1_55.lib
libboost_program_options-vc110-mt-1_55.lib
libboost_program_options-vc110-mt-gd-1_55.lib
libboost_random-vc110-mt-1_55.lib
libboost_random-vc110-mt-gd-1_55.lib
libboost_regex-vc110-mt-1_55.lib
libboost_regex-vc110-mt-gd-1_55.lib
libboost_serialization-vc110-mt-1_55.lib
libboost_serialization-vc110-mt-gd-1_55.lib
libboost_signals-vc110-mt-1_55.lib
libboost_signals-vc110-mt-gd-1_55.lib
libboost_system-vc110-mt-gd-1_55.lib
libboost_test_exec_monitor-vc110-mt-1_55.lib
libboost_test_exec_monitor-vc110-mt-gd-1_55.lib
libboost_thread-vc110-mt-gd-1_55.lib
libboost_timer-vc110-mt-1_55.lib
libboost_timer-vc110-mt-gd-1_55.lib
libboost_unit_test_framework-vc110-mt-1_55.lib
libboost_unit_test_framework-vc110-mt-gd-1_55.lib
libboost_wave-vc110-mt-1_55.lib
libboost_wave-vc110-mt-gd-1_55.lib
libboost_wserialization-vc110-mt-1_55.lib
libboost_wserialization-vc110-mt-gd-1_55.lib
flann.lib
flann_cpp_s.lib
flann_cpp_s-gd.lib
flann_s.lib
flann_s-gd.lib
flann-gd.lib
qhull.lib
qhull_d.lib
qhull_p.lib
qhull_p_d.lib
qhullcpp.lib
qhullcpp_d.lib
qhullstatic.lib
qhullstatic_d.lib
qhullstatic_p.lib
qhullstatic_p_d.lib
vtkalglib.lib
vtkalglib-gd.lib
vtkCharts.lib
vtkCharts-gd.lib
vtkCommon.lib
vtkCommon-gd.lib
vtkDICOMParser.lib
vtkDICOMParser-gd.lib
vtkexoIIc.lib
vtkexoIIc-gd.lib
vtkexpat.lib
vtkexpat-gd.lib
vtkFiltering.lib
vtkFiltering-gd.lib
vtkfreetype.lib
vtkfreetype-gd.lib
vtkftgl.lib
vtkftgl-gd.lib
vtkGenericFiltering.lib
vtkGenericFiltering-gd.lib
vtkGeovis.lib
vtkGeovis-gd.lib
vtkGraphics.lib
vtkGraphics-gd.lib
vtkhdf5.lib
vtkhdf5_hl.lib
vtkhdf5_hl-gd.lib
vtkhdf5-gd.lib
vtkHybrid.lib
vtkHybrid-gd.lib
vtkImaging.lib
vtkImaging-gd.lib
vtkInfovis.lib
vtkInfovis-gd.lib
vtkIO.lib
vtkIO-gd.lib
vtkjpeg.lib
vtkjpeg-gd.lib
vtklibxml2.lib
vtklibxml2-gd.lib
vtkmetaio.lib
vtkmetaio-gd.lib
vtkNetCDF.lib
vtkNetCDF_cxx.lib
vtkNetCDF_cxx-gd.lib
vtkNetCDF-gd.lib
vtkpng.lib
vtkpng-gd.lib
vtkproj4.lib
vtkproj4-gd.lib
vtkRendering.lib
vtkRendering-gd.lib
vtksqlite.lib
vtksqlite-gd.lib
vtksys.lib
vtksys-gd.lib
vtktiff.lib
vtktiff-gd.lib
vtkverdict.lib
vtkverdict-gd.lib
vtkViews-gd.lib
vtkViews.lib
vtkVolumeRendering.lib
vtkVolumeRendering-gd.lib
vtkWidgets.lib
vtkWidgets-gd.lib
vtkzlib.lib
vtkzlib-gd.lib

完成配置!新建一個.cpp文件數進行測試。代碼如下:

#include <pcl/visualization/cloud_viewer.h>
#include <iostream>
#include <pcl/io/io.h>
#include <pcl/io/pcd_io.h>

int main()
{
    pcl::PointCloud<pcl::PointXYZRGBA>::Ptr cloud(new 
    pcl::PointCloud<pcl::PointXYZRGBA>);
    
    //加載pcd文件
    pcl::io::loadPCDFile("table_scene.pcd", *cloud);
	
    pcl::visualization::CloudViewer viewer("Cloud Viewer");

    viewer.showCloud(cloud);


	while(!viewer.wasStopped())
	{
	   //Do something
	}
    return 0;
}

以下是pcd文件,複製到txt文件中,修改後綴名爲.pcd即可。

# .PCD v.7 - Point Cloud Data file format
VERSION .7
FIELDS x y z rgb
SIZE 4 4 4 4
TYPE F F F F
COUNT 1 1 1 1
WIDTH 213
HEIGHT 1
VIEWPOINT 0 0 0 1 0 0 0
POINTS 213
DATA ascii
0.93773 0.33763 0 4.2108e+06
0.90805 0.35641 0 4.2108e+06
0.81915 0.32 0 4.2108e+06
0.97192 0.278 0 4.2108e+06
0.944 0.29474 0 4.2108e+06
0.98111 0.24247 0 4.2108e+06
0.93655 0.26143 0 4.2108e+06
0.91631 0.27442 0 4.2108e+06
0.81921 0.29315 0 4.2108e+06
0.90701 0.24109 0 4.2108e+06
0.83239 0.23398 0 4.2108e+06
0.99185 0.2116 0 4.2108e+06
0.89264 0.21174 0 4.2108e+06
0.85082 0.21212 0 4.2108e+06
0.81044 0.32222 0 4.2108e+06
0.74459 0.32192 0 4.2108e+06
0.69927 0.32278 0 4.2108e+06
0.8102 0.29315 0 4.2108e+06
0.75504 0.29765 0 4.2108e+06
0.8102 0.24399 0 4.2108e+06
0.74995 0.24723 0 4.2108e+06
0.68049 0.29768 0 4.2108e+06
0.66509 0.29002 0 4.2108e+06
0.69441 0.2526 0 4.2108e+06
0.62807 0.22187 0 4.2108e+06
0.58706 0.32199 0 4.2108e+06
0.52125 0.31955 0 4.2108e+06
0.49351 0.32282 0 4.2108e+06
0.44313 0.32169 0 4.2108e+06
0.58678 0.2929 0 4.2108e+06
0.53436 0.29164 0 4.2108e+06
0.59308 0.24134 0 4.2108e+06
0.5357 0.2444 0 4.2108e+06
0.50043 0.31235 0 4.2108e+06
0.44107 0.29711 0 4.2108e+06
0.50727 0.22193 0 4.2108e+06
0.43957 0.23976 0 4.2108e+06
0.8105 0.21112 0 4.2108e+06
0.73555 0.2114 0 4.2108e+06
0.69907 0.21082 0 4.2108e+06
0.63327 0.21154 0 4.2108e+06
0.59165 0.21201 0 4.2108e+06
0.52477 0.21491 0 4.2108e+06
0.49375 0.21006 0 4.2108e+06
0.4384 0.19632 0 4.2108e+06
0.43425 0.16052 0 4.2108e+06
0.3787 0.32173 0 4.2108e+06
0.33444 0.3216 0 4.2108e+06
0.23815 0.32199 0 4.808e+06
0.3788 0.29315 0 4.2108e+06
0.33058 0.31073 0 4.2108e+06
0.3788 0.24399 0 4.2108e+06
0.30249 0.29189 0 4.2108e+06
0.23492 0.29446 0 4.808e+06
0.29465 0.24399 0 4.2108e+06
0.23514 0.24172 0 4.808e+06
0.18836 0.32277 0 4.808e+06
0.15992 0.32176 0 4.808e+06
0.08642 0.32181 0 4.808e+06
0.039994 0.32283 0 4.808e+06
0.20039 0.31211 0 4.808e+06
0.1417 0.29506 0 4.808e+06
0.20921 0.22332 0 4.808e+06
0.13884 0.24227 0 4.808e+06
0.085123 0.29441 0 4.808e+06
0.048446 0.31279 0 4.808e+06
0.086957 0.24399 0 4.808e+06
0.3788 0.21189 0 4.2108e+06
0.29465 0.19323 0 4.2108e+06
0.23755 0.19348 0 4.808e+06
0.29463 0.16054 0 4.2108e+06
0.23776 0.16054 0 4.808e+06
0.19016 0.21038 0 4.808e+06
0.15704 0.21245 0 4.808e+06
0.08678 0.21169 0 4.808e+06
0.012746 0.32168 0 4.808e+06
-0.075715 0.32095 0 4.808e+06
-0.10622 0.32304 0 4.808e+06
-0.16391 0.32118 0 4.808e+06
0.00088411 0.29487 0 4.808e+06
-0.057568 0.29457 0 4.808e+06
-0.0034333 0.24399 0 4.808e+06
-0.055185 0.24185 0 4.808e+06
-0.10983 0.31352 0 4.808e+06
-0.15082 0.29453 0 4.808e+06
-0.11534 0.22049 0 4.808e+06
-0.15155 0.24381 0 4.808e+06
-0.1912 0.32173 0 4.808e+06
-0.281 0.3185 0 4.808e+06
-0.30791 0.32307 0 4.808e+06
-0.33854 0.32148 0 4.808e+06
-0.21248 0.29805 0 4.808e+06
-0.26372 0.29905 0 4.808e+06
-0.22562 0.24399 0 4.808e+06
-0.25035 0.2371 0 4.808e+06
-0.29941 0.31191 0 4.808e+06
-0.35845 0.2954 0 4.808e+06
-0.29231 0.22236 0 4.808e+06
-0.36101 0.24172 0 4.808e+06
-0.0034393 0.21129 0 4.808e+06
-0.07306 0.21304 0 4.808e+06
-0.10579 0.2099 0 4.808e+06
-0.13642 0.21411 0 4.808e+06
-0.22562 0.19323 0 4.808e+06
-0.24439 0.19799 0 4.808e+06
-0.22591 0.16041 0 4.808e+06
-0.23466 0.16082 0 4.808e+06
-0.3077 0.20998 0 4.808e+06
-0.3413 0.21239 0 4.808e+06
-0.40551 0.32178 0 4.2108e+06
-0.50568 0.3218 0 4.2108e+06
-0.41732 0.30844 0 4.2108e+06
-0.44237 0.28859 0 4.2108e+06
-0.41591 0.22004 0 4.2108e+06
-0.44803 0.24236 0 4.2108e+06
-0.50623 0.29315 0 4.2108e+06
-0.50916 0.24296 0 4.2108e+06
-0.57019 0.22334 0 4.2108e+06
-0.59611 0.32199 0 4.2108e+06
-0.65104 0.32199 0 4.2108e+06
-0.72566 0.32129 0 4.2108e+06
-0.75538 0.32301 0 4.2108e+06
-0.59653 0.29315 0 4.2108e+06
-0.65063 0.29315 0 4.2108e+06
-0.59478 0.24245 0 4.2108e+06
-0.65063 0.24399 0 4.2108e+06
-0.70618 0.29525 0 4.2108e+06
-0.76203 0.31284 0 4.2108e+06
-0.70302 0.24183 0 4.2108e+06
-0.77062 0.22133 0 4.2108e+06
-0.41545 0.21099 0 4.2108e+06
-0.45004 0.19812 0 4.2108e+06
-0.4475 0.1673 0 4.2108e+06
-0.52031 0.21236 0 4.2108e+06
-0.55182 0.21045 0 4.2108e+06
-0.5965 0.21131 0 4.2108e+06
-0.65064 0.2113 0 4.2108e+06
-0.72216 0.21286 0 4.2108e+06
-0.7556 0.20987 0 4.2108e+06
-0.78343 0.31973 0 4.2108e+06
-0.87572 0.32111 0 4.2108e+06
-0.90519 0.32263 0 4.2108e+06
-0.95526 0.34127 0 4.2108e+06
-0.79774 0.29271 0 4.2108e+06
-0.85618 0.29497 0 4.2108e+06
-0.79975 0.24326 0 4.2108e+06
-0.8521 0.24246 0 4.2108e+06
-0.91157 0.31224 0 4.2108e+06
-0.95031 0.29572 0 4.2108e+06
-0.92223 0.2213 0 4.2108e+06
-0.94979 0.24354 0 4.2108e+06
-0.78641 0.21505 0 4.2108e+06
-0.87094 0.21237 0 4.2108e+06
-0.90637 0.20934 0 4.2108e+06
-0.93777 0.21481 0 4.2108e+06
0.22244 -0.0296 0 4.808e+06
0.2704 -0.078167 0 4.808e+06
0.24416 -0.056883 0 4.808e+06
0.27311 -0.10653 0 4.808e+06
0.26172 -0.10653 0 4.808e+06
0.2704 -0.1349 0 4.808e+06
0.24428 -0.15599 0 4.808e+06
0.19017 -0.025297 0 4.808e+06
0.14248 -0.02428 0 4.808e+06
0.19815 -0.037432 0 4.808e+06
0.14248 -0.03515 0 4.808e+06
0.093313 -0.02428 0 4.808e+06
0.044144 -0.02428 0 4.808e+06
0.093313 -0.03515 0 4.808e+06
0.044144 -0.03515 0 4.808e+06
0.21156 -0.17357 0 4.808e+06
0.029114 -0.12594 0 4.2108e+06
0.036583 -0.15619 0 4.2108e+06
0.22446 -0.20514 0 4.808e+06
0.2208 -0.2369 0 4.808e+06
0.2129 -0.208 0 4.808e+06
0.19316 -0.25672 0 4.808e+06
0.14497 -0.27484 0 4.808e+06
0.030167 -0.18748 0 4.2108e+06
0.1021 -0.27453 0 4.808e+06
0.1689 -0.2831 0 4.808e+06
0.13875 -0.28647 0 4.808e+06
0.086993 -0.29568 0 4.808e+06
0.044924 -0.3154 0 4.808e+06
-0.0066125 -0.02428 0 4.808e+06
-0.057362 -0.02428 0 4.808e+06
-0.0066125 -0.03515 0 4.808e+06
-0.057362 -0.03515 0 4.808e+06
-0.10653 -0.02428 0 4.808e+06
-0.15266 -0.025282 0 4.808e+06
-0.10653 -0.03515 0 4.808e+06
-0.16036 -0.037257 0 4.808e+06
0.0083286 -0.1259 0 4.2108e+06
0.0007442 -0.15603 0 4.2108e+06
-0.1741 -0.17381 0 4.808e+06
-0.18502 -0.02954 0 4.808e+06
-0.20707 -0.056403 0 4.808e+06
-0.23348 -0.07764 0 4.808e+06
-0.2244 -0.10653 0 4.808e+06
-0.23604 -0.10652 0 4.808e+06
-0.20734 -0.15641 0 4.808e+06
-0.23348 -0.13542 0 4.808e+06
0.0061083 -0.18729 0 4.2108e+06
-0.066235 -0.27472 0 4.808e+06
-0.17577 -0.20789 0 4.808e+06
-0.10861 -0.27494 0 4.808e+06
-0.15584 -0.25716 0 4.808e+06
-0.0075775 -0.31546 0 4.808e+06
-0.050817 -0.29595 0 4.808e+06
-0.10306 -0.28653 0 4.808e+06
-0.1319 -0.2831 0 4.808e+06
-0.18716 -0.20571 0 4.808e+06
-0.18369 -0.23729 0 4.808e+06

總結一波c++相關庫的配置步驟:

1:下載並安裝對應版本的程序包

2:設置相對應的環境變量, 其實質是始程序能夠讀取相關的.dll文件。當dll數量較少時可不設置環境變量,直接添加相關的.dll文件到C:\Windows\\system32和C:\Windows\SysWOW64文件夾下即可。

3:在包含目錄下添加所有的include文件夾,其實質是關聯相關的頭文件(.h)和執行文件(.cpp)。

4:在庫目錄下添加所有的lib文件夾,性質和添加.dll文件類似,使得程序能夠正常執行。

5:日後再次使用該配置時,只需添加已有屬性表即可。

參考文獻:https://blog.csdn.net/qq_34510308/article/details/61205142

                  https://blog.csdn.net/lgdnr/article/details/51190685

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章