簡體   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