VS中PCL庫附加依賴項(xiàng)配置過程解析
在VS中使用PCL庫通常要經(jīng)過一些配置,參考http://m.fzitv.net/article/256416.htm教程中第一部分PCL安裝及在VS2013中使用PCL。
其中包含目錄和庫目錄的設(shè)置都簡單,根據(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 pause
3.在%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 pause
4.在%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)。另外如果想更簡單一點(diǎn)可以把以上的輸出文件名改為同一個(gè),這樣可以所有debug的輸出到一個(gè)debug.txt,所有release的輸出到一個(gè)release.txt,不過要注意的是文件名要使用絕對(duì)路徑。
到此這篇關(guān)于VS中PCL庫附加依賴項(xiàng)配置的文章就介紹到這了,更多相關(guān)VS PCL庫附加依賴項(xiàng)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C++ string類getline()用法實(shí)例詳解
C++ getline()是一種標(biāo)準(zhǔn)庫函數(shù),用于從輸入流中讀取字符串或行,它是<string>標(biāo)頭的一部分,本文介紹C++ string類getline()用法詳解,感興趣的朋友一起看看吧2024-03-03
C語言實(shí)現(xiàn)歌手大獎(jiǎng)賽計(jì)分程序
這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)歌手大獎(jiǎng)賽計(jì)分程序,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-03-03
C++?OpenCV實(shí)現(xiàn)之實(shí)現(xiàn)紅綠燈識(shí)別
本文以實(shí)現(xiàn)行車過程當(dāng)中的紅綠燈識(shí)別為目標(biāo),核心的內(nèi)容包括:OpenCV輪廓識(shí)別原理以及OpenCV紅綠燈識(shí)別的實(shí)現(xiàn)具體步驟,感興趣的可以了解一下2022-08-08
C++ 使用模板實(shí)現(xiàn)一個(gè)List的實(shí)例
這篇文章主要介紹了 C++ 使用模板實(shí)現(xiàn)一個(gè)List的實(shí)例的相關(guān)資料,需要的朋友可以參考下2017-05-05
C/C++?QT實(shí)現(xiàn)自定義對(duì)話框的示例代碼
對(duì)話框分為多種,常見的有通用對(duì)話框,自定義對(duì)話框,模態(tài)對(duì)話框,非模態(tài)對(duì)話框等,本文主要介紹了QT自定義對(duì)話框,感興趣的可以了解一下2021-11-11

