1. 程式人生 > >VS2005~2012專案中新增lib庫、include檔案工程設定

VS2005~2012專案中新增lib庫、include檔案工程設定

應用程式使用外部庫時需要進行載入,兩種庫的載入本質上都是一樣:提供功能和功能的定義。vs2005~vs2012 c++ 專案設定外部庫方法如下:

1. 新增編譯所需要(依賴)的 lib 檔案
在“專案->屬性->配置屬性->聯結器(link)->輸入(input)->附加依賴項(
Additional dependencies)”裡填寫“x.lib”,多個 lib 以空格隔開。等同於“#pragma comment(lib, "*.lib") ”語句。這個過程如果出錯會出現link error,大概是“未定義的函式XXX”。

2. 新增庫(libs)檔案目錄

  附加庫目錄 僅僅包含目錄,只是告訴IDE,搜尋沒有指定路徑的庫檔案時,也搜尋這裡。假如
你用 #pragma comment(lib,"a.lib")的時候;此時就搜尋a.lib的路徑列表就包含這個路徑。
       例如:
    #ifndef _UNICODE
        #ifdef _DEBUG
            #pragma comment(lib, "..\\file\\lib\\nafxcwd.lib")
        #else
            #pragma comment(lib, "..\\file\\lib\\nafxcwd.lib")        #endif
    #else
        #ifdef _DEBUG
            #pragma
comment(lib, "..\\file\\lib\\uafxcwd.lib") #else #pragma comment(lib, "..\\file\\lib\\uafxcw.lib") #endif #endif

方法 1:專案->屬性->配置屬性->聯結器(link)->常規(General)->附加庫目錄(Additional library path)"。此處設定的是“include檔案的相對路徑”,以proj檔案為基準。

               附加庫目錄的目錄路徑不需要新增雙引號,路徑分隔符為’/’或’/’,不必考慮反斜槓’/’的轉義。多個路徑之間以分號

分隔。

方法 2:[選單]“工具->選項->專案和解決方案->c++ 目錄”,選擇對應平臺,然後新增所需“庫檔案”目錄"。

              此方法類似於設定環境變數,主要是為程式設定搜尋的庫目錄,真正進行庫載入還需要進行第一種設定!

這個過程如果設定錯誤,會link error,提示"找不到XXX.lib"。

3. 新增包含(include)檔案目錄

方法 1:[解決方案資源管理器]“專案->屬性->配置屬性->c/c++->常規->附加包含目錄"。此處設定的是“include檔案的相對路徑”,以proj檔案為基準。

               這裡需要注意的是(1)路徑必須指向標頭檔案所在的子資料夾,而不能直到父資料夾就結束(2)每個路徑不需要加上雙引號,輸入了之後,                    vs2008會自動加上雙引號,如果自己加可能vs2008無法識別雙引號(3)如果是多個路徑,路徑直接用“;”隔開。

              (4)目錄路徑不需新增雙引號,路徑分隔符為’/’或’/’,不必考慮反斜槓’/’的轉義。多個路徑之間以分號分隔。

方法 2:[選單]“工具->選項->專案和解決方案->c++ 目錄”,選擇對應平臺,新增所需“include檔案”目錄"。此方法類似於設定環境變數。 4. 匯入庫(import)

在“專案->屬性->配置屬性->聯結器->高階->匯入庫”填寫需要生成的匯入庫。

5.新增工程引用的dll動態庫:把引用的dll放到工程的可執行檔案所在的目錄下。

相對路徑的設定
在VS的工程中常常要設定標頭檔案的包含路徑,當然你可以使用絕對路徑,但是如果你這樣設定了你只能在你自己的機器上執行該工程;如果其他人拷貝你的工程到其他機器上就可能無法執行,這個是因為你在建工程時可能把工程放在了E:盤,但是其他人可能會把工程放在其他根目錄下,這樣會導致找不到標頭檔案問題。
對於新手,在設定絕對路徑時往往會犯渾,他們不清楚這裡的“相對”究竟是以什麼位置為起點。其實這裡的相對路徑就是相當於工程檔案(X.vcproj)為起點零計算出的能找到包含所需標頭檔案(也就是找包含所需標頭檔案的include目錄)的路徑。
例如你的工程檔案(Count.vcproj)所在目錄路徑為:
E:\projects\Count\Count\Count.vcproj
該工程需要包含一個圖片引數,該圖片所在路徑如下:
E:\projects\Count\pic\pic01.jpg
這裡程式中的相對路徑設定如下:
..\\pic\\pic02.jpg

程式程式碼中的引數路徑設定時要用雙斜線:
例如:
#include "..\TestLib\lib.h"
#pragma comment(lib,"..\\debug\\TestLib.lib");
注:在字串中要用"\\"才能顯示出,要考慮到轉意字元"\",在#include中的進行設定的時候則不需要考慮轉意字元。