[英]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.