日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

C++ 包含目录、库目录、附加依赖项详解

發布時間:2023/12/18 c/c++ 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++ 包含目录、库目录、附加依赖项详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在使用opencv庫,以及其他庫的時候,經常會需要添加包含目錄、庫目錄、附加依賴項等。現做一個總結吧。

1、包含目錄

是.h的頭文件所在的目錄,如果沒有正確包含目錄,代碼中會出現紅色的警告,各種未定義的標識符。

添加庫目錄的絕對路徑自然不必多說。

講下添加相對路徑的一個小技巧:..\..\include ????每一次 ?..\ ?都會向上移動一個目錄,暫且認為最原始的目錄為(.vcproj) 目錄,或者生成exe文件所在目錄

2、庫目錄

為各種.lib文件所在的目錄,lib文件僅在vs編譯時需要。

如果沒有正確包含庫目錄,編譯器會報錯,提示無法找到.lib文件。

添加庫目錄的小技巧:$(SolutionDir)表示.sln文件所在的目錄,$(ProjectDir)表示 .vcproj所在目錄。示例:$(SolutionDir)\Debug

3、附加依賴項

附加依賴項為vs編譯時,所需.lib文件的名稱。與庫目錄相對應。

如果沒有正確包含附加依賴項,會出現,無法解析的外部符號等錯誤。

4、.dll文件

.dll文件是運行時需要的執行文件,當編譯之后,僅需要dll即可,一般情況下與.exe在同一目錄即可。

5、C++預處理器定義

C/C++ ->預處理器 ->預處理器定義

VC包含目錄、附加依賴項、庫目錄及具體設置

包含目錄:#include <headerfile.h>中headerfile.h的搜索目錄。
如果有XXX.h找不到,設置這個目錄可以解決。

附加依賴項:C++的庫會把函數、類的聲明放在*.h中,實現放在*.cpp或*.cc中。編譯之后,*.cpp,*.cc,*.c會被打包成一個.lib文件,這樣可以保護源代碼。
所以,要使用一個庫,除了要include他的頭文件以外,還要在鏈接過程中把lib加進去。這個就是在附加鏈接庫中設置。
其實,一般的庫會用#pragma comment(lib,"xxx.lib") 來設置
這個過程出錯會出現link error,大概是“未定義的函數XXX”。

庫目錄:就是尋找.lib文件的目錄。
如果設置錯誤,會link error,提示"找不到XXX.lib"。

在VS工程中,添加c/c++工程中外部頭文件及庫的基本步驟:

??? 1、添加工程的頭文件目錄:工程---屬性---配置屬性---c/c++---常規---附加包含目錄:加上頭文件存放目錄。

??? 2、添加文件引用的lib靜態庫路徑:工程---屬性---配置屬性---鏈接器---常規---附加庫目錄:加上lib文件存放目錄。
???????? 然后添加工程引用的lib文件名:工程---屬性---配置屬性---鏈接器---輸入---附加依賴項:加上lib文件名。

??? 3、添加工程引用的dll動態庫:把引用的dll放到工程的可執行文件所在的目錄下。

MFC中添加"附加包含目錄"、“附加包含目錄”以及“附加庫目錄”

1.附加包含目錄

方法:
   (1)[解決方案資源管理器]:右鍵項目->屬性->配置屬性->C/C++->常規->附加包含目錄;
   (2)[菜單]:工具->選項->項目和解決方案->C++目錄,選擇對應平臺,然后添加所需“包括文件”目錄;
功能:添加的是項目中用到的include頭文件,把外部依賴庫的頭文件地址添加在這里。

2.附加庫目錄

方法:
   (1)[解決方案資源管理器]:右鍵項目->屬性->配置屬性->鏈接器>常規->附加庫目錄;
   (2)[菜單]:工具->選項->項目和解決方案->C++目錄,選擇對應平臺,然后添加所需“庫文件”目錄;
功能:將外部依賴庫的lib文件地址添加在這里;

2.附加依賴目錄

方法:
   (1)[解決方案資源管理器]:右鍵項目->屬性->配置屬性->鏈接器>輸入->附加依賴項,在其中填寫具體使用到的具體的lib名稱,包含后綴名如"opencv_world300d.lib"。效果等同于

#pragma comment(lib, "opencv_world300d.lib")

   (2)[菜單]:工具->選項->項目和解決方案->C++目錄,選擇對應平臺,然后添加所需“庫文件”目錄;
功能:將使用到的外部依賴庫的lib文件名稱添加在這里;

例:
opencv配置
  假設opencv解壓在D盤opencv文件中
  (1)添加附加包含目錄: D:\opencv\build\include;
  (2)附加庫目錄: D:\opencv\build\x86\vc12\lib;(這里我的項目目標計算機是x86,故選x86)
    注:項目目標計算機查看與設值方法:
      (a)右鍵項目–>屬性–>鏈接器–>高級–>目標計算機;
      (b)右鍵項目–>配置管理器”–>活動平臺解決方案;
  (3)添加外部依賴項: opencv_world300d.lib;
    注:lib文件夾里有opencv_world300d.lib,opencv_ts300d.lib,opencv_world300.lib,opencv_ts300.lib四個文件,前兩個帶"d"表示debug版本,后兩個表示release版本,根據需求添加。
  (4)復制opencv_world300d.dll放在項目debug文件夾中。

Eigen配置
  僅添加附加包含目錄即可:D:\eigen-eigen-07105f7124f9\Eigen

總結

以上是生活随笔為你收集整理的C++ 包含目录、库目录、附加依赖项详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。