編譯時頭文件的宏找不到怎麼回事
A. source insight無法識別包含在其他文件的宏定義,在頭文件中明明定義了
因為Source Insight並不是編譯器,所以宏定義是否可以識別和源文件中是否包含了該頭文件並沒有關系.
你必須在工程中將對應的頭文件添加進去才行.
菜單中選擇 Project -> Add and Remove Project Files ,之後找到頭文件所在的文件夾添加上相應的頭文件.
一般不是立即有效,可以選擇Project -> Synchronize Files 更新一下就好了.
B. C語言編程時,說無法找到delay.h的頭文件
你的問題還需要進一步的信息。在信息不全時只能泛泛談。
- 「無法找到delay.h」文件,應該是在編譯某個.c文件時出錯。
通常,.h文件不會在當前目錄下,而會放在類似於:
inc/
include/
之類的子目錄下,或者在另外的地方。你可以在相關的地方找找看。
- 如果文件不在當前目錄下,則編譯時需要指定該目錄,採用-I選項,比如:
cc -I./inc -I./include ...
如果採用的是IDE,則在類似『選項->編譯選項->目錄'之類的地方設置,效果同「-I./inc」選項
- 至於「想知道這個頭文件要怎麼編寫了」,如果你知道如何編寫,就不會在這里問了。在你的系統里找到它才是正道。如果真找不到,說明你該重裝你的C工具。
C. linux編寫內核模塊編譯時找不到頭文件
-I /usr/src/linux-headers-2.6.32-24/include 其中, -I和後面的路徑沒有空格
-I/usr/src/linux-headers-2.6.32-24/include
一般也很少直接用gcc命令, 大部分是用makefile, make -C kernel_path moles