最近配置PCL庫,OPENCV庫,OPENGL庫,總結出以下配置庫的基本操作
準備工作——庫的版本選擇:
win32 or win64:不要看你的電腦,要看開發的程序,如果開發win32程序,就要下載x86版本
msvc版本:取決於你選擇的編譯器,如果採用vs2013,就要採用msvc2013的編譯器。
vs的一個版本對應以下有對應關係
vs2010=vc10.0vs2012=vc11.0
vs2013=vc12.0
vs2015=vc14.0
背景知識:
msvc就是就是microsoft visual c++的意思,這裏順便提一下vc++和c++的關係:
C語言是一種開發語言,有很多廠商都開發了自己的C語言工具,目前常用的包括Visual C++和C++ Builder等。每個廠商都遵從一定標準,所以一般的C語言程序都可以在這些系統中編譯。
VC++是微軟的開發Win32環境程序,面向對象的可視化集成編程系統。你可以把它看成是微軟推出的一個C++類庫,基於Windows平臺的,裏面集成了各種Windows開發下的必備API,從而免去了開發人員在用C++開發Windows應用的時候去寫很底層的代碼。
C++則是一門編程語言,使用C++標準語法和標準庫寫出來的代碼是可以跨平臺的。如果還不明白,可以把VC++當做是C++的一個擴展,把C++庫給增大了,裏面包含了很多的Windows下的函數庫。
配置過程
(1)環境變量
把庫文件夾中所有bin目錄的路徑加到path環境變量裏。
(2)include directories配置,即包含目錄配置,這個主要是配置包含.h頭文件的文件夾
打開View->Properties Pages頁面,選VC++ Directories,在include的Directories中添加一些包含頭文件的include文件夾。
(3)lib配置,即庫目錄配置,主要是配置包含.lib庫文件的文件夾
如圖所示,和include的配置在同一個界面中,主要是將含有lib的文件夾配置進去,這些文件夾一般都會在各個子文件下以lib命名
(4)Linker-——>附加依賴項配置,主要是寫明lib的文件名字
要把(3)中所有lib文件夾下的.lib文件全都寫進去
注意這一步分爲Debug和Release模式,配置時要先在如圖上面選擇Configuration中的Debug和Release,然後配置相應版本的.lib文件。
一般debug和release版本的文件.lib文件通過文件名可以區分,例如
pcl_common_release.lib —Debug版本
vtkRenderingContext2D-6.1-gd.lib —Debug版本(比release版本多帶d或者gd)
pcl_common_release.lib —Release版本
vtkRenderingContext2D-6.1.lib —Release版本
(這裏加一個debug和release的區別,目錄下Debug通常稱爲調試版本,它包含調試信息,並且不作任何優化,便於程序員調試程序。Release稱爲發佈版本,它往往是進行了各種優化,使得程序在代碼大小和運行速度上都是最優的,以便用戶很好地使用。)
(5)當報找不到xxx.dll錯誤時,應該在bin文件夾下找到提示的.dll文件,獲取網上下載相應dll文件,拷貝到
C:\Windows\System32 ——Win7以下
C:\Windows\SysWOW64——Win8 Win10系統
使用屬性表,一次配置,終身無憂
View->Other Windows->Property Manager
在彈出的Property Manager面板 對着Debug|Win32(或Release)右鍵選擇Add new...
雙擊屬性表,一切就和上面的配置一樣了。
下次引用,只需要找到屬性表的位置,對着Debug|Win32右鍵選擇Add Existing....,添加上次的配置屬性文件
下面以opencv2.4.11+vs2015 Enterprise爲例,詳解opencv的配置過程
第一步,去官網下載並opencv-2.4.11.exe 下載後雙擊提取到某個文件夾作爲opencv根目錄
第二步,將bin目錄設置環境變量,把以下路徑添加到環境變量的path變量末尾
D:\Program Files\OpenCV2.4.11\opencv\build\x86\vc12\bin
第三步,按上述方法配置include目錄
D:\Program Files\OpenCV2.4.11\opencv\opencv\build\include\opencv2
D:\Program Files\OpenCV2.4.11\opencv\opencv\build\include\opencv
D:\Program Files\OpenCV2.4.11\opencv\opencv\build\include
第四步,按上述方法配置lib目錄
D:\Program Files\OpenCV2.4.11\opencv\opencv\build\x86\vc12\lib
第五步,按上述方法添加鏈接庫
Debug:
opencv_ml2411d.lib
opencv_calib3d2411d.lib
opencv_contrib2411d.lib
opencv_core2411d.lib
opencv_features2d2411d.lib
opencv_flann2411d.lib
opencv_gpu2411d.lib
opencv_highgui2411d.lib
opencv_imgproc2411d.lib
opencv_legacy2411d.lib
opencv_objdetect2411d.lib
opencv_ts2411d.lib
opencv_video2411d.lib
opencv_nonfree2411d.lib
opencv_ocl2411d.lib
opencv_photo2411d.lib
opencv_stitching2411d.lib
opencv_superres2411d.lib
opencv_videostab2411d.lib
Release:
opencv_objdetect2411.lib
opencv_ts2411.lib
opencv_video2411.lib
opencv_nonfree2411.lib
opencv_ocl2411.lib
opencv_photo2411.lib
opencv_stitching2411.lib
opencv_superres2411.lib
opencv_videostab2411.lib
opencv_calib3d2411.lib
opencv_contrib2411.lib
opencv_core2411.lib
opencv_features2d2411.lib
opencv_flann2411.lib
opencv_gpu2411.lib
opencv_highgui2411.lib
opencv_imgproc2411.lib
opencv_legacy2411.lib
opencv_ml2411.lib
第六步,下載缺少的dll放在相應系統文件夾下,另一篇blog有
msvcp120d.dll
mscvp120.dll