繁体   English   中英

/usr/include linux 中的新 .h 文件

[英]New .h file in /usr/include linux

我在 linux 中开发了小型 c 应用程序。 对于这个应用程序,我将 .h 文件放在 linux 标准路径 (/usr/include) 中。 我再次编译相同的程序

输出:FATA 错误:找不到 xyz.h(我自己的头文件)

我是否需要更新 gcc 中的任何变量或解决此问题的方法

谢谢你

将头文件放在与.c文件相同的目录中并使用-I. 编译时

gcc -I. main.c -o myprog

您不应该将头文件放在用于系统头文件的/usr/include中。

注意:您实际上并不需要-I. 因为默认搜索当前目录,不过,添加它并没有什么坏处。

由 include 指令指定的文件旨在位于编译器的搜索路径之一中,在许多情况下,该搜索路径由 -I 选项指定(至少对于 gcc,其他编译器是否相同?)。 搜索路径按照命令行中的定义顺序进行验证。

有两种包含指令:

  • 双引号 ( #include "xyz.h" )
  • 尖括号 ( #include <xyz.h> )

IIRC,前者的默认和第一个搜索路径是工作目录。 对于后者,它依赖于编译器,但通常是/usr/include/

根据您使用的包含指令,您应该为您的文件选择正确的位置。 或者更好的是,将您的文件放在一个合适的位置(比如与包含文件相同的位置),并为您的 gcc 命令添加一个搜索路径。

你应该将你的头文件.h文件与系统和存储库构建的头文件分开,这样你就不会破坏任何东西。

我建议在您的主目录中创建一个名为 include 的文件夹并将其添加到您的路径中,这样您就不必再担心它,也不需要-I/标志

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM