• Visual Studio C++项目的头文件搜索顺序


    Visual Studio C++项目的头文件搜索顺序

    C++项目的几处包含路径设置

    1. VC++目录项下的“包含目录”(Include Directories):搜索头文件的路径设置。对应环境变量INCLUDE。即,在这里添加用户自己指定的库路径,在编译时会在INCLUDE环境变量中加入该路径。
      设置1
    2. C/C++下常规中的“附加包含目录”:
      设置2
    3. 命令行的排除搜索路径选项/X:若打开该选项,则不从PATH或INCLUDE中中搜索头文件。如下图所示:
      在这里插入图片描述

    搜索包含文件的顺序

    编译器按以下顺序搜索目录:

    1. 如果使用双引号,即#include"SomeHeader.h"指令,它将首先搜索本地目录。搜索开始于包含#include指令的文件所在的目录。如果找不到该文件,它将在当前打开的include文件的目录中按与打开顺序相反的顺序进行搜索。搜索从包含了它的父文件的目录开始,并继续向上搜索任何祖父母包含文件的所有目录。
    2. 如果#include指令是以尖括号形式指定的,或者如果本地目录搜索失败,它便不会追溯搜索父文件目录,而是将按照命令行中指定的顺序,使用/I选项搜索指定的目录(附加包含目录)。
    3. INCLUDE环境变量中指定的目录。(VC++目录项下的“包含目录”)

    举例

    以下命令查找main.c请求的包含文件,按以下顺序:

    1. 首先,main.c中使用双引号指定的头文件,搜索本地文件(在main.c相同文件夹搜索);
    2. 接下来,搜索在\include目录中继续,然后在\my\include文件夹中继续,最后在INCLUDE环境变量的目录中按从左到右的顺序进行。
    CL /I \include /I\my\include main.c
    
    • 1
  • 相关阅读:
    如何办理ITSS资质
    python学习05-协程
    微信小程序手写文件解决日期少一天且格式无法切割问题
    Spring Cloud Function Spel表达式注入
    flask-sqlalchemy 增删改查
    几个实用的MySQL内置函数使用方法
    【博弈论】对冲:世界杯足球竞猜能稳赚不赔?
    如何在linux系统中设置定时任务?
    记录mac安装基础软件问题
    金融知识分享系列之:五日线
  • 原文地址:https://blog.csdn.net/qq_42679415/article/details/126748916