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