2010-09-14 160 views
4

如何包含一個linux頭文件?我從網上讀取頭文件在/usr/include。但是,我需要的頭文件不在該目錄中;它在/usr/src/kernels/2.6.32.../include/linux/包含Linux頭文件

我試圖使用完整路徑包含文件。但是,該文件本身也包含其他頭文件。因此,編譯時編譯器找不到其他頭文件。

我怎樣才能將頭文件包含在我的程序中並編譯程序?

+1

它是哪個特定的頭文件? – Joe 2010-09-14 02:22:48

+0

這是cpufreq.h。謝謝 – ashley 2010-09-14 02:26:05

+0

http://askubuntu.com/questions/75709/how-do-i-install-kernel-header-files – 2015-08-08 07:45:01

回答

1

您可以添加到您的gcc命令行-I(爲「包括」),以指定其他目錄搜索包括文件(除了或者居然連,而不是正常的像/usr/include選擇,雖然它是這麼長時間以來我最後需要「不是」,我不記得那是怎麼做的== man gcc應該在5分鐘內告訴你,如果你需要找出;-)。

10

如果您在Ubuntu上,請安裝libcpufreq-dev。這會給你標題/usr/include/cpufreq.h,你可以從你的代碼中包含#include <cpufreq.h>

+1

獲取標題安裝是最好的解決方案。 – 2010-09-14 02:38:16

5

默認情況下,GCC搜索頭文件以下目錄:

/usr/local/include/ 
/usr/include/ 

和庫以下目錄:

/usr/local/lib/ 
/usr/lib/ 

編譯器選項-I和-L添加新的目錄到分別開始包含路徑和庫搜索路徑。