#include directive: relative to where?

前端 未结 6 1687
小鲜肉
小鲜肉 2021-02-05 00:05

I have looked in The C++ Programming Language to try to find the answer to this. When I #include \"my_dir/my_header.hpp\" in a header, where does it look f

6条回答
  •  故里飘歌
    2021-02-05 00:43

    It depends on what syntax you use in the #include directive:

    #include "path-spec"
    #include 
    

    Quoted form : This form instructs the preprocessor to look for include files in the same directory of the file that contains the #include statement, and then in the directories of any files that include (#include) that file. The preprocessor then searches along the path specified by the /I compiler option, then along paths specified by the INCLUDE environment variable.

    Angle-bracket form : This form instructs the preprocessor to search for include files first along the path specified by the /I compiler option, then, when compiling from the command line, along the path specified by the INCLUDE environment variable.

    The path-spec is a filename optionally preceded by a directory specification. The filename must name an existing file. The syntax of the path-spec depends on the operating system on which the program is compiled.

    This information should be in the documentation for your specific C++ Preprocessor Reference, the above is taken from this article on MSDN which has more on the subject.

提交回复
热议问题