VS C include與lib目錄的配置

2021-09-30 01:52:31 字數 1197 閱讀 3653

最近折騰了一段時間vs c++包含目錄的配置,終於搞清了一點眉目,今天分享一下心得

ps:vs配置項一團亂麻,都不用看原始碼就知道vs一定是一座巨大的 **** 山。

1. 修改解決方案配置時注意屬性面板裡修改的配置和主介面上選擇的配置要對應

箭頭所指的兩個選項要一一對應

2. 包含目錄要用絕對路徑,不要用相對路徑

3. 包含庫(lib)目錄是沒用的,要用#pragma comment(lib, "./***.lib")來包含庫(lib)

應該用:

#pragma comment(lib, "./glad.lib")  

//注意,這裡可以用相對路徑,相對的是寫了這條語句的檔案

//比如這個檔案是main.c,那麼./就代表main.c所在的目錄

不應該用:

這裡寫庫目錄是沒有用的!!!!

4. 注意庫(.lib)的位數,x64 與 win32要一一對應

這裡就不配圖了

專案位數是自己選擇的,怎麼看庫位數呢,答:在編譯庫檔案的專案那裡看位數,那個專案位數是多少,庫的位數就是多少。

5. 解決方案裡顯示的專案名稱是專案檔案裡projectname項的內容,新增新專案時的專案名衝突判斷卻是通過專案檔名來確定的

這一條比較繞,總的來說,可以理解為定位乙個專案有三個屬性:

資料夾名

專案檔名

專案檔案中projectname欄位的內容

解決方案裡顯示的檔名是專案檔案中projectname欄位的內容,判斷專案名衝突卻是靠專案檔名。前後不統一,邏輯混亂。

lib與dll的區別

首先介紹一下靜態庫 靜態鏈結庫 動態庫 動態鏈結庫 的概念,首先兩者都是 共享的方式。靜態庫 在鏈結步驟中,聯結器將從庫檔案取得所需的 複製到生成的可執行檔案中,這種庫稱為靜態庫,其特點是可執行檔案中包含了庫 的乙份完整拷貝 缺點就是被多次使用就會有多份冗餘拷貝。即靜態庫中的指令都全部被直接包含在最...

LIB與DLL的區別與使用

共有兩種庫 一種是lib包含了函式所在的dll檔案和檔案中函式位置的資訊 入口 由執行時載入在程序空間中的dll提供,稱為動態鏈結庫dynamic link library。一種是lib包含函式 本身,在編譯時直接將 加入程式當中,稱為靜態鏈結庫static link library。共有兩種鏈結方...

dll與lib之間的區別

共有兩種庫 一種是lib包含了函式所在的dll檔案和檔案中函式位置的資訊 入口 由執行時載入在程序空間中的dll提供,稱為動態鏈結庫dynamic link library。一種是lib包含函式 本身,在編譯時直接將 加入程式當中,稱為靜態鏈結庫static link library。共有兩種鏈結方...