VS中PCL库附加依赖项配置
在VS中使用PCL庫通常要經過一些配置,參考https://www.cnblogs.com/blog-vincent-0x1F7/p/9507631.html教程中第一部分PCL安裝及在VS2013中使用PCL。
其中包含目錄和庫目錄的設置都簡單,根據自己安裝目錄的差別略有不同;但是附加依賴項則較為復雜一點,主要是因為附加依賴項太多了。很多情況下我們配置附加依賴項都是直接復制網上教程中別人的附加依賴項,對于不同版本的PCL可能附加依賴項就會略有不同,全盤復制很有可能導致link error,有些依賴項找不到有些又缺失。其實附加依賴項可以在配置的各個庫目錄中找到,打開PCL安裝目錄下的各個庫目錄比如VTK下的庫目錄可以看到VTK所需的依賴項:
各個庫目錄中的所有.lib文件就是我們的附加依賴項,但是這里要把他們區分為debug模式下的依賴項和release模式下的依賴項,而且.lib文件數量繁多,自己復制這些文件名還要分成debug、release兩撥確實太多了。我們可以用批處理命令來幫我們執行。
觀察各個庫目錄可知調試模式和發行模式的分別,在%PCL_ROOT%\lib下的.lib文件加了debug和release來區分,%PCL_ROOT%\3rdParty\Boost\lib下的以有gd的為debug模式否則為release模式,其他各個庫目錄也都有類似規律,所以可以在各個庫目錄下寫批處理文件導出.lib依賴項:
1.在%PCL_ROOT%\lib下新建文本文檔,改后綴名為.bat,筆記本打開編輯如下內容:
@echo off for %%I in (*.lib) do echo %%I>>all.txt //解釋:對每一個(*.lib)通配符匹配到的文件名I,顯示I到文件all.txt,之后的語句類似理解就可 for %%I in (*debug.lib) do echo %%I>>adebug.txt for %%I in (*release.lib) do echo %%I>>arelease.txt pause則會生成adebug.txt保存debug模式下的依賴項、arelease.txt保存release模式下的依賴項、all.txt保存所有依賴項,如下:
2.在%PCL_ROOT%\3rdParty\Boost\lib下編寫:
@echo off for %%I in (*.lib) do echo %%I>>all.txt for %%I in (*mt-gd-1_64.lib) do echo %%I>>adebug.txt for %%I in (*mt-1_64.lib) do echo %%I>>arelease.txt pause3.在%PCL_ROOT%\3rdParty\OpenNI2\Lib下只有一個不必用批處理,自己抄一下名稱就好;在%PCL_ROOT%\3rdParty\FLANN\lib和%PCL_ROOT%\3rdParty\Qhull\lib下因為不太多故將所有.lib導出到一個all.txt文件然后自己根據有沒有_d區分debug和release版本:
@echo off for %%I in (*.lib) do echo %%I>>all.txt pause4.在%PCL_ROOT%\3rdParty\VTK\lib下根據有無-gd區分debug和release,編寫bat文件如下:
@echo off for %%I in (*.lib) do echo %%I>>all.txt for %%I in (*8.0.lib) do echo %%I>>arelease.txt for %%I in (*c++.lib) do echo %%I>>arelease.txt for %%I in (*-gd.lib) do echo %%I>>adebug.txt pause最后把所有debug模式下依賴項匯總,把所有release模式下的依賴項匯總即得到設置中所需要的依賴項。另外如果想更簡單一點可以把以上的輸出文件名改為同一個,這樣可以所有debug的輸出到一個debug.txt,所有release的輸出到一個release.txt,不過要注意的是文件名要使用絕對路徑。
轉載于:https://www.cnblogs.com/blog-vincent-0x1F7/p/9646358.html
總結
以上是生活随笔為你收集整理的VS中PCL库附加依赖项配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 前端 javascript 数据类型 布
- 下一篇: emWin智能家居主界面设计,含uCOS