C - 如何使用<>目录查看 #include



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

我问是因为我在/usr/local/include 中添加了一个包含一堆头文件的目录,当我#include <file>时编译器仍然说 error: unknown type name ‘TPM_TAG’ .我怀疑/usr/local/include 不在编译器要搜索的目录列表中。

谢谢!

您可以根据编译器以不同的方式进行搜索,例如,使用 gcc 可以通过以下方式检查编译器查找文件的位置

gcc -print-search-dirs

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

这取决于您使用的是标准标头还是本地用户定义的标头。也许尝试使用 #include"文件"并将头文件设置为本地,看看是否有效?

gcc -I. yourfile.c 

-I引入include files的路径,所以如果你的子目录中有一些包含文件,比如sort/list/等,你应该表现为:

gcc -I. -I./list -I./sort myfile.c

注意:请考虑对头文件使用 "",对系统头文件使用 <>。例如:

#include <iostream>
#include "myheader.h"
编译器

附带了许多*.h文件,这些文件取决于其确切配置。也看看这个问题。说服GCC/clang拥有的一般方法是:

echo | gcc -E -Wp,-v -

(根据需要将gcc替换为clang)。

相关内容

  • 没有找到相关文章

最新更新