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;
posted @ 2020-03-31 11:11  iBinary  阅读(6078)  评论(0编辑  收藏  举报