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