新增動態鏈結庫及靜態鏈結庫的方法總結(C )

2021-08-04 17:06:45 字數 803 閱讀 7207

一、新增動態鏈結庫

情況1:當前解決方案中的動態鏈結庫

方法:「新增引用」對話方塊列出了可以引用的庫。「專案」選項卡列出了當前解決方案中的所有專案以及它們包含的所有庫。 在「專案」選項卡上,選中動態鏈結庫,然後選擇「確定」按鈕。

情況2:外部動態鏈結庫

方法:1、把引用的dll放到工程的可執行檔案所在的目錄下

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

2b、#pragma comment(lib,"路徑\***.lib")

2c、通過附加庫目錄:加上lib檔案存放目錄,然後#pragma comment(lib,"***.lib")

2d、通過新增現有項將lib檔案加入工程

總結:新增lib需要讓工程知道名字和路徑,缺一不可。提示錯誤:fatal error lnk1104: 無法開啟檔案「***.lib」

路徑問題:新增->現有項->屬性下可檢視相對路徑和完整路徑

二、新增靜態鏈結庫

新增靜態鏈結庫與新增動態鏈結庫中的新增lib檔案方法一致 注:

使用鏈結庫時,要引用 dll 的標頭檔案,則必須修改包含的目錄路徑。

新增引用的標頭檔案(.h)目錄:工程---屬性---配置屬性---c/c++---常規---附加包含目錄:加上標頭檔案存放目錄。

動態鏈結庫 靜態鏈結庫

包含標頭檔案和庫 idir 指定編譯查詢標頭檔案的目錄,常用於查詢第三方的庫的標頭檔案,例 gcc test.c i.inc o test。ldir 指定鏈結時查詢lib的目錄,常用於查詢第三方庫。llibrary 指定額外鏈結的lib庫 巨集定義 dmacro 以字串 1 預設值 定義 macro...

靜態鏈結庫 動態鏈結庫

庫是寫好的現有的,成熟的,可以復用的 現實中每個程式都要依賴很多基礎的底層庫,不可能每個人的 都從零開始,因此庫的存在意義非同尋常。本質上來說庫是一種可執行 的二進位制形式,可以被作業系統載入記憶體執行。庫有兩種 靜態庫 a lib 和動態庫 so dll windows上對應的是.lib dll ...

靜態鏈結庫,動態鏈結庫

關於靜態鏈結庫,參考如下博文 當你完成了 開發,想把這個 給別人用,但是又不希望別人看到原始碼,就要給別人乙個庫和標頭檔案,庫和標頭檔案是配合的,缺一不可。或者過程相反,你從別人那裡拿到乙個庫和標頭檔案來使用。那麼如何編譯生成乙個庫給他人,如何使用從他人那裡拿到的庫呢?範例1 我們想把linuxfr...