VS中PCL庫(kù)附加依賴(lài)項(xiàng)配置過(guò)程解析
在VS中使用PCL庫(kù)通常要經(jīng)過(guò)一些配置,參考http://www.dbjr.com.cn/article/256416.htm教程中第一部分PCL安裝及在VS2013中使用PCL。
其中包含目錄和庫(kù)目錄的設(shè)置都簡(jiǎn)單,根據(jù)自己安裝目錄的差別略有不同;但是附加依賴(lài)項(xiàng)則較為復(fù)雜一點(diǎn),主要是因?yàn)楦郊右蕾?lài)項(xiàng)太多了。很多情況下我們配置附加依賴(lài)項(xiàng)都是直接復(fù)制網(wǎng)上教程中別人的附加依賴(lài)項(xiàng),對(duì)于不同版本的PCL可能附加依賴(lài)項(xiàng)就會(huì)略有不同,全盤(pán)復(fù)制很有可能導(dǎo)致link error,有些依賴(lài)項(xiàng)找不到有些又缺失。其實(shí)附加依賴(lài)項(xiàng)可以在配置的各個(gè)庫(kù)目錄中找到,打開(kāi)PCL安裝目錄下的各個(gè)庫(kù)目錄比如VTK下的庫(kù)目錄可以看到VTK所需的依賴(lài)項(xiàng):
各個(gè)庫(kù)目錄中的所有.lib文件就是我們的附加依賴(lài)項(xiàng),但是這里要把他們區(qū)分為debug模式下的依賴(lài)項(xiàng)和release模式下的依賴(lài)項(xiàng),而且.lib文件數(shù)量繁多,自己復(fù)制這些文件名還要分成debug、release兩撥確實(shí)太多了。我們可以用批處理命令來(lái)幫我們執(zhí)行。
觀(guān)察各個(gè)庫(kù)目錄可知調(diào)試模式和發(fā)行模式的分別,在%PCL_ROOT%\lib下的.lib文件加了debug和release來(lái)區(qū)分,%PCL_ROOT%\3rdParty\Boost\lib下的以有g(shù)d的為debug模式否則為release模式,其他各個(gè)庫(kù)目錄也都有類(lèi)似規(guī)律,所以可以在各個(gè)庫(kù)目錄下寫(xiě)批處理文件導(dǎo)出.lib依賴(lài)項(xiàng):
1.在%PCL_ROOT%\lib下新建文本文檔,改后綴名為.bat,筆記本打開(kāi)編輯如下內(nèi)容:
@echo off for %%I in (*.lib) do echo %%I>>all.txt //解釋?zhuān)簩?duì)每一個(gè)(*.lib)通配符匹配到的文件名I,顯示I到文件all.txt,之后的語(yǔ)句類(lèi)似理解就可 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模式下的依賴(lài)項(xiàng)、arelease.txt保存release模式下的依賴(lài)項(xiàng)、all.txt保存所有依賴(lài)項(xiàng),如下:
2.在%PCL_ROOT%\3rdParty\Boost\lib下編寫(xiě):
@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 pause
3.在%PCL_ROOT%\3rdParty\OpenNI2\Lib下只有一個(gè)不必用批處理,自己抄一下名稱(chēng)就好;在%PCL_ROOT%\3rdParty\FLANN\lib和%PCL_ROOT%\3rdParty\Qhull\lib下因?yàn)椴惶喙蕦⑺?lib導(dǎo)出到一個(gè)all.txt文件然后自己根據(jù)有沒(méi)有_d區(qū)分debug和release版本:
@echo off for %%I in (*.lib) do echo %%I>>all.txt pause
4.在%PCL_ROOT%\3rdParty\VTK\lib下根據(jù)有無(wú)-gd區(qū)分debug和release,編寫(xiě)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模式下依賴(lài)項(xiàng)匯總,把所有release模式下的依賴(lài)項(xiàng)匯總即得到設(shè)置中所需要的依賴(lài)項(xiàng)。另外如果想更簡(jiǎn)單一點(diǎn)可以把以上的輸出文件名改為同一個(gè),這樣可以所有debug的輸出到一個(gè)debug.txt,所有release的輸出到一個(gè)release.txt,不過(guò)要注意的是文件名要使用絕對(duì)路徑。
到此這篇關(guān)于VS中PCL庫(kù)附加依賴(lài)項(xiàng)配置的文章就介紹到這了,更多相關(guān)VS PCL庫(kù)附加依賴(lài)項(xiàng)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解C語(yǔ)言中scanf函數(shù)使用的一些注意點(diǎn)
這篇文章主要介紹了C語(yǔ)言中scanf函數(shù)使用的一些注意點(diǎn),scanf函數(shù)的使用是C語(yǔ)言入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2016-04-04更優(yōu)雅的C++字符串格式化實(shí)現(xiàn)方法詳解
在用C++編寫(xiě)代碼時(shí),經(jīng)常需要用到字符串拼接及格式化,尤其是在拼寫(xiě)sql語(yǔ)句時(shí)。所以本文為大家介紹了更優(yōu)雅的C++字符串格式化實(shí)現(xiàn)方法,希望對(duì)大家有所幫助2023-04-04