1. 程式人生 > >在VS上使用外部庫:包含路徑及環境變數設定

在VS上使用外部庫:包含路徑及環境變數設定

工欲善其事,必先利其器!

我的第一篇部落格,就從最基礎的東西開始:系統環境變數設定和vs編譯器的包含路徑

在參考了網上的一些資料後,把它整理如下

要使用第三方提供的庫,我們需要:

一、設定環境變數:

環境變數是屬於作業系統的,而不是某個具體編譯器的,環境變數的設定是全域性有效的

以win xp系統系統為例:我的電腦——右鍵——屬性——高階


點開環境變數


這裡有兩個,上一個是管理員使用者有效,下一個是系統所有使用者有效,主要設定下面一個的Path路徑就可以了:雙擊Path開啟:


變數值那裡往後面新增,以“;”分隔,比如,要使用boost庫,在不刪除前面值得情況下,在後面加  ;D:\...\boost

還要使用其他庫,再在後面加;路徑名,再確定即可。

       如果不想設定環境變數,也可以在針對專案:右鍵專案—屬性—配置屬性—VC++目錄—可執行檔案目錄,見下圖

二、包含路徑設定

        以下以vs2012為例,使用protopuf庫做為例子:

建好專案,幷包含必要的標頭檔案之後:

1、 設定包含目錄與庫目錄:右鍵專案—屬性—配置屬性—VC++目錄—包含目錄、庫目錄設定(設定後的結果)

包含目錄:各種標頭檔案的所在目錄,一般檔名為include

 

庫目錄:各種lib所在目錄,一般檔名為lib

 

未設定包含路徑將出現找不到相關標頭檔案編譯時錯誤。

2、設定需要連結lib名字(將對應lib連結到專案):右鍵專案—屬性—配置屬性—連結器—輸入—附加依賴項

(設定好後結果)

注意1中是設定lib路徑、這裡是指定lib名,兩者不同。未設定此項可能出現連結錯誤:error LNK2019: 無法解析的外部符號

 新增對應的lib

如果不採用步驟2,還可以採用以下方法連結lib:在專案中使用預編譯指令:#pragma comment (lib,"路徑\*.lib")

以上方式針對指定的專案,如果需要針對所有專案指定可以參考:

如果是vs2008,參考:

環境變數設定參考:

另一種方式:設定“附加包含目錄”、“附加庫目錄”,功能同上面的“包含目錄”、“庫目錄”

在VS工程中,新增c/c++工程中外部標頭檔案及庫的基本步驟:

    1、新增工程的標頭檔案目錄:工程---屬性---配置屬性---c/c++---常規---附加包含目錄:加上標頭檔案存放目錄。

    2、新增檔案引用的lib靜態庫路徑:工程---屬性---配置屬性---連結器---常規---附加庫目錄:加上lib檔案存放目錄。
         然後新增工程引用的lib檔名:工程---屬性---配置屬性---連結器---輸入---附加依賴項:加上lib檔名。

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

http://kangtao-520.blog.163.com/blog/static/77256145201112553610439/