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