VS2019庫頭文件的使用


VS2019 頭文件,庫使用教程

一丶簡介

使用VS系列的時候,下載了一個庫,以及很多庫文件 此時想要包含頭文件就很頭疼,以及包含庫.

一直使用替換頭文件,以及 #pragma comment(lib,"")的方式

其實Vs已經給我們提供了方法,只是不會用而已.這里當作記錄貼進行記錄一下.

二丶目錄解析

VC++ 目錄解析

參考博客鏈接 https://blog.csdn.net/jdzhangxin/article/details/78340759?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

先貼個圖:

這里針對常用的設置進行說明

目錄 對應環境變量 作用 簡單說明
可執行文件目錄 PATH 搜索可執行文件的目錄 比如Cl.exe linke.exe等編譯器連接器的目錄
包含目錄 INCLUDE源 源代碼中,使用#include<xxx.h>所包含的頭文件的目錄 也就是頭文件的目錄 主要就是提供一個目錄,這樣源碼中當使用#include<>就可以找到了.如果是你自己寫的.h那么你就使用#include"xx.h"
引用目錄 LIBPATH 搜索通過#using指針在源代碼中引用的程序集或者模塊的文件路徑 如C++中常用的 using namespace std;那么 namespace的目錄就是這里提供的,自我理解.
庫目錄 LIB 搜索庫的目錄 我們使用lib的時候,少的話寫為 #pragma comment(lib,"xxx\xxx\xxx.lib") 加上則可以去掉前邊路徑了,寫為#pragma comment(lib,"xxx.lib")

然后上面所述的目錄,在VS2010之前是影響全局的,也就是只要使用這個VS創建的,那么就是影響全局.

C++ 連接器中的目錄介紹

C++->附加包含目錄 INCLUDE 跟上方所述VC++->包含目錄一樣也是印象InClude路徑的
連接器->附加庫目錄 LIBPATH 指明LIB所在的目錄,指明之后則可以在附加依賴項中直接填寫你想使用的lib名稱
連接器附加依賴項 lib 指明你想使用的Lib的名稱即可.

三丶偽代碼

配置之后那么你就可以在你程序中直接寫如下代碼了.

#include<aaa/abc.h>  //我們的包含目錄或者附加包含目錄包含的是aaa目錄
#pragma comment(lib,"ccc.lib") //我們的連接器->附加庫目錄指明了CCC.目錄則可以直接包含CCC.LIB  

int main()
{
    // you code ......
    return 0;
}

當然,為了程序兼容x64 x86 debug release我們都會用宏配置

#ifdef _WIN32
//Debug下的win32平台
#pragma comment(lib,"Dcccx86.lib") 
#else
//debug下的x64平台
#pragma comment(lib,"DcccX64.lib") 
#endif
#else

#ifdef _WIN32
//Release下的 win32平台
#else
//Release 下的x64平台

#endif // _WIN32

//Release平台
#endif // _DEBUG

四丶小問題解決

問題1.找不到 iob_func

因為版本太高問題,會出現如下問題

原因是版本太高等等,網上也有相關說明

解決方法

在全局加入

extern "C" { FILE __iob_func[3] = { *stdin,*stdout,*stderr }; }

即可.

問題2. 無法解析 _sprintf

解決方法:

在連接器->輸入->附加依賴項添加 lib庫

添加的庫為:

legacy_stdio_definitions.lib;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM