1. 程式人生 > >#include 找不到標頭檔案

#include 找不到標頭檔案

    ubuntu下socket程式設計涉及到標頭檔案sys/socket.h 和sys/types.h。我是用的codeblocks編輯器,當我想檢視socket,h標頭檔案時編輯器提示找不到標頭檔案。

           我就想可能是沒有設定codeblocks標頭檔案的搜尋路徑。好吧,那首先就找找這個檔案藏在哪裡吧

[cpp] view plain copy print?在CODE上檢視程式碼片派生到我的程式碼片
  1. <span style="font-size:12px;">find / -name socket.h -print  
  2. 或者locate sys/socket.h</span>  
            結果顯示檔案位置為/usr/include/x86_64-linux-gnu/sys/socket.h。我們開啟codeblocks——》settting——》compiler——》search directories ,點選add,新增一條路徑為

/usr/include/x86_64-Linux-gnu/sys/

              重新開始編譯檔案,選中sys/socket.h右鍵"open #include <sys/socket.h>"結果居然還是顯示

                                                                                

            這就讓人很是尷尬啦,明明已經找到路徑新增完成結果編輯器還是提示找不到。一番搜尋查詢好終於找到解決方法。Fix by using the following code:

[cpp] view plain
copy print?在CODE上檢視程式碼片派生到我的程式碼片
  1. sudo apt-get install build-essential flex libelf-dev libc6-dev-amd64 binutils-dev libdwarf-dev  
           安裝完成後我們會在/usr/include下發現一個sys資料夾。這時我們就可以順利檢視sys/socket.h標頭檔案了。編輯器的提示功能也可以正常使用了。           但開啟/usr/include/sys目錄發現裡面都是連結檔案,socket.h的連線地址其實還是指向了/usr/include/x86_64-linux-gnu/sys/socket.h。修復環境後沒有設定查詢路徑編輯器就可以找到,未修復前新增檔案的查詢路徑後卻依然無法找到,這點也是弄不明白。