zoukankan      html  css  js  c++  java
  • 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,"xxxxxxxxx.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;
    
  • 相关阅读:
    node.js之npm命令安装扩展模块
    jquery选择器(转)
    node.js入门
    node.js之模块
    redhat 下装redis
    html 5之websocket(转)
    node.js安装和环境搭建
    javascript 动态加载脚本库
    HTML5 LocalStorage 本地存储
    【ecmascript】 ECMAScript 6概览【转】
  • 原文地址:https://www.cnblogs.com/iBinary/p/12603804.html
Copyright © 2011-2022 走看看