標籤:

使用外接庫文件設置

在程序開發中,很多時候需要用到別人開發的工具包,如OpenCV和itk。一般而言,在vs2008中,很少使用源文件,大部分是使用對類進行聲明的頭文件和封裝了類的鏈接庫(靜態lib或動態dll)。

如果要使用這些類,需要在文件中包含頭文件的名字,如#include 「cv.h」。但這個並不夠,因為這個文件一般來說不在當前目錄下,有兩種方法解決這個問題。一,將所包含的頭文件複製到當前目錄(另一篇文章有寫)下,這個比較有局限性,因為如果頭文件太多,這樣比較麻煩。二,將頭文件所在的路徑包括進去,即添加包含(include)文件目錄。兩種方法:A.依次打開「項目——屬性——配置屬性——C++——常規——附加包含目錄」中加入所有的路徑。這裡需要注意的是(1)路徑必須指向頭文件所在的子文件夾,而不能直到父文件夾就結束(2)每個路徑不需要加上雙引號,輸入了之後,vs2008會自動加上雙引號,如果自己加可能vs2008無法識別雙引號(3)如果是多個路徑,路徑直接用「;」隔開。B.[菜單]「工具->選項->項目和解決方案->C++ 目錄」,選擇對應平台,然後添加所需「包括文件」目錄。

除了頭文件以外,也需要告訴編譯器,類在哪裡實現的,即封裝類的鏈接庫在哪裡,這樣程序才能執行工具包中的函數。

首先需要將鏈接庫的路徑輸入vs2008,即添加庫(libs)文件目錄。兩種方法:A.依次打開「項目——屬性——配置屬性——鏈接器——常規——附加庫目錄」中加入鏈接庫的路徑。B.[菜單]「工具->選項->項目和解決方案->C++ 目錄」,選擇對應平台。

然後添加所需「庫文件」目錄,即添加編譯所需要(依賴)的 lib 文件。在「項目——屬性——配置屬性——鏈接器——常規——輸入——附加依賴項」中加入鏈接庫的名字,多個lib用空格隔開。(等同於「#pragma comment(lib, 「xxx.lib」) 」語句)。

比如itk工具包在vs2008中配置。itk首先CMake一下,然後編譯,最後還要編譯Install。網上有很多文章給了一些配置的路徑什麼的,特別是附加包含目錄,我覺得沒有說清楚。很多時候照搬或是稍微改動是不太正確的,因為每個人的安裝路徑不一樣,更主要的是CMake的時候每個人選擇的選項不一樣,產生的h文件有多有少等等,所以這裡附加包含目錄只要把你所有生成的h文件的路徑輸入就好,一般而言在CMake輸入的install的路徑下會有一個include文件夾,h文件都在裡面,把路徑逐一輸入即可。而庫文件目錄是CMake輸入的install的路徑下會有一個lib文件夾,lib文件都在這個文件夾下面。再添加編譯所需要(依賴)的 lib 文件,這樣就配置完成了。具體使用的時候如果要用哪個函數,就把聲明這個函數的頭文件在cpp文件中加入即可,如加上#include 「itkImage.h」。

推薦閱讀:

聯合國安理會設置的不公平性
唐代行政機構設置
IIS7設置
乾貨!一文了解「胰島素泵」院內設置及調整原則

TAG:文件 | 設置 |