Visual Studio2017 & pcl1.8.1 庫的配置

個人電腦爲Windows10系統,本來安裝上Visual Studiao2015 Pro版本,但不知何故常常沒法連接到其餘頭文件的函數。所以我準備從新安裝VS2015(原來的工程都是用VS2015創建並編譯的)。ios

每次卸載Visual Studio2015都須要花費很長時間,須要從 控制面板——卸載程序中逐個刪除包括IIS網頁發佈器、framework框架、各類包以及VS編譯器。每卸載一次都須要花費近兩個小時。git

安裝VS2015也須要花費挺長時間,基本版所佔內存爲12G,加上一些附屬組建的話須要21G,通常須要兩個小時。一來一回一個上午就沒有了。github

在安裝成功後,打開Visual Studio2015,一直彈出 」文件缺失,能夠查看一個xml文件「。後來我才理解,這應該是VS沒有卸載乾淨,個人VS使用的是原來備份的Ghost文件,有些文件可能在這個過程當中有更改。後來,我在program file(x86)和program file中將全部的Visual Studio 和 VS 文件夾均卸載。爲了防止有漏網之魚,特地用 Everything 搜索了 」visual studio「,並將 C 盤中全部符合的文件都刪除,重啓計算機。框架

接下來就是安裝Visual Studio2017了。7zip挺好用,能夠將一個文件夾壓縮成好幾個壓縮文件;也能夠將好幾個壓縮文件解壓成一個文件夾。VS2017很大,但在百度雲中下載很快,此次我挺百度。VS基本版只有8G,附加其餘組建也只有10G,比VS2015精簡了不少。安裝後在控制面板中也只有少數幾個安裝程序,比起VS2015簡直就是一股清流。安裝好後特地選了幾個頭文件及函數測試了一下,沒法連接的問題完美解決。函數

個人根本目的實際上是作托盤識別,這裏須要用到點雲數據和彩色圖像,所以須要配置 PCL 庫和 OpenCV 庫。測試

先介紹OpenCV庫。OpenCV如今已經到4.1版本(2019年7月),因此仍是用最新的比較好。不一樣版本的VS使用的二進制 OpenCV 庫是不一樣的,目前只支持 vc14(VS2015) 和 vc15(VS2017)。特別須要申明一點,opencv庫從官網上或者是github上下載很是慢,簡直比蝸牛還慢,而且每每掉線,因此最好是備份到百度雲,以便下一次使用。ui

pcl1.8.0 庫是支持Visual Studio2015的,pcl1.8.1 庫是支持Visual Studio2017的。因此我須要從新安裝 pcl1.8.1庫。下載pcl1.8.1(很是慢而且常常容易斷網,建議備份到百度雲),安裝後在系統環境path中添加bin的路徑。spa

經過在 VS2017中新建屬性表且命名爲 」OpenCV4.0.0&VS2017Debugger.props「 和  」OpenCV4.0.0&VS2017Release.props「 構建通用的OpenCV屬性表,之後導入到其餘工程就很是方便。xml

經過在 VS2017中新建屬性表且命名爲 」PCL1.8.1&VS2017Debugger.props「 和  」PCL1.8.1&VS2017Release.props「 構建通用的PCL屬性表,之後導入到其餘工程就很是方便。ip

經測試後發現配置徹底正確,而後將這四個 .props 文件備份到 Configuration 文件夾中。

 

我所使用的攝像頭來自圖漾科技,github上有一個工程文件爲camport3-master。爲了採集Point-3D,須要使用內置的 .../Samples/Common/freeglut 庫。這個庫首先須要用 cmake 程序進行編譯,生成 VS2017工程。而後利用VS2017將這個工程 .dll 和 .lib 庫。而後將生成的 .lib庫加入到工程的屬性表中(動態連接庫.dll文件能夠直接放置在生成的可執行目錄下,個人爲D:\Workspaces\visualStudio2015\camport3-master\sample\build\bin\Debug 目錄)。

因爲工程編寫的程序用的是opencv3版本,我配置的版本爲opencv4,因此發現了一些不一樣:

【1】CV_RGB2GRAY(opencv2)、COLOR_RGB2GRAY(opencv三、opencv4(不肯定),而且須要添加頭文件 #include<opencv2/imgproc/type_c.h>來解決)

【2】opencv3與opencv4之間的一些宏定義存在改動,有些宏的名稱被改成其餘名稱

此外還有一些其餘問題,如

【3】在自定義輸出流 out 時,出現 "std::ofstream locationOut;不容許使用不完整的類型 "的錯誤,原來是 #include <iostream> 和 #include <fstream>漏掉了

【4】編譯時出現 LINK Error,沒法查找指定函數。這時須要將 .cpp 文件手動添加到工程的 源文件中。

【5】VS2017不包括 SDK8.1,但本工程須要使用 SDK8.1,因此須要在安裝時須要勾選 「使用 C++ 的桌面開發 —— Windows8.1 SDK 和 UCRT SDK」,而後安裝便可。

【6】Debugger 和 Release 的 .lib 庫文件是不一樣的。

相關文章
相關標籤/搜索