C 如何查看#包括<&燃气轮机;目录

C 如何查看#包括<&燃气轮机;目录,c,include-path,C,Include Path,我知道当使用#include时,编译器将在定义的系统目录中搜索文件。如何查看这些目录 我之所以问这个问题,是因为我在/usr/local/include中添加了一个包含大量头文件的目录,当我#include时,编译器仍然会说错误:未知类型名“TPM_TAG”。我怀疑/usr/local/include不在编译器要搜索的目录列表中 谢谢 这取决于您使用的是标准标头还是本地用户定义的标头。也许可以尝试使用#include“file”并将头文件改为本地文件,看看是否有效 gcc -I. yourfil

我知道当使用
#include
时,编译器将在定义的系统目录中搜索
文件
。如何查看这些目录

我之所以问这个问题,是因为我在/usr/local/include中添加了一个包含大量头文件的目录,当我
#include
时,编译器仍然会说
错误:未知类型名“TPM_TAG”
。我怀疑/usr/local/include不在编译器要搜索的目录列表中


谢谢

这取决于您使用的是标准标头还是本地用户定义的标头。也许可以尝试使用#include“file”并将头文件改为本地文件,看看是否有效

gcc -I. yourfile.c 
-I
介绍
包含文件的路径
,因此,如果您的子目录中有一些包含文件,如sort/list/等,您的行为应如下所示:

gcc -I. -I./list -I./sort myfile.c
注意: 请为您的头文件考虑使用<代码>“<代码> >,并使用<代码> >代码>系统头文件。如:

#include <iostream>
#include "myheader.h"
#包括
#包括“myheader.h”

编译器附带了大量取决于其确切配置的
*.h
文件。也来看看这个。说服GCC/clang认输的一般方法是:

echo | gcc -E -Wp,-v -

(根据需要将
gcc
替换为
clang

您可以根据编译器的不同方式进行搜索,例如使用gcc,可以使用

gcc -print-search-dirs

或者您可以使用选项
gcc-H
编译您的c文件,例如使用
gcc-H-c myfile.c

如果找不到该文件,您将有一个致命错误,因此这不是问题所在。您可以使用
-I
标志传递包含目录。他可能仍然在/usr/include中有一个头文件的实例,以及/usr/local/include中的更新版本。这取决于您使用的编译器。有了gcc,
gcc-v
应该会告诉你它的位置。我有一个目录,里面有我想在我的项目中使用的头文件。这些头文件假定它们位于gcc识别的目录中(因为它们彼此包含在
#include
中)。因此,我将这个目录放在/usr/local/include中,并将它们包含在
#include
中,得到了
未知类型名
错误。我试图删除我的#include语句,看看会发生什么,但我得到了同样的错误。这使我认为编译器没有在/usr/local/include中找到头文件的目录@KeithThompson,该输出的哪个选项提供目录?他不是问如何包含某些文件,而是问如何查看编译器在使用
#include
指令包含文件时搜索的目录