我在使用gcc編譯C文件時出現錯誤 - 由於沒有爲dce/rpc.h找到這樣的文件/目錄,所以發生錯誤。我應該在哪裏找它?gcc編譯器在編譯時查找頭文件在哪裏?
0
A
回答
0
從/usr/include
開始,並從那裏開始工作,假設它是系統標題。大多數系統頭文件都存儲在UNIX/Linux系統下。
如果它不是系統標題,它將會在您(或另一個第三方)放置的位置(可能在任何地方)。如果你想找到它,你可以這樣做(爲xyzzy.h
):
find/-name xyzzy.h 2>/dev/null
如果無法找到那麼你期望它可能不是您的系統上安裝了頭。你需要弄清楚如何做到這一點。例如,The Open Group有一個LGPL-style DCE implementation,你可以在Linux下使用。
根據您的平臺(AIX,HP-UX,Solaris等),安裝軟件包可能很簡單。
2
通過使用-v選項運行預處理器(cpp),您可以找出默認情況下gcc將搜索包含文件的目錄。你也應該指定你感興趣的語言,除非它是C,因爲每種語言都有自己的搜索路徑。
下面是一個例子:
cpp -v -x c++ < /dev/null
請注意,您必須指定沒有文件進行預處理;否則,它會嘗試從stdin讀取。
上面顯示了C++的默認包含路徑。
4
此命令打印包含路徑:
gcc -xc -v -
以我的Linux機器結果如下:
#include <...> search starts here:
/usr/local/include
/usr/lib/gcc/i586-redhat-linux/4.4.1/include
/usr/include
End of search list.
隨着橫GCC,該路徑可以是非常困難的quess:
#include <...> search starts here:
/opt/OSELAS.Toolchain-2011.11.0/arm-v5te-linux-gnueabi/gcc-4.6.2-glibc-2.14.1-binutils-2.21.1a-kernel-2.6.39-sanitized/lib/gcc/arm-v5te-linux-gnueabi/4.6.2/include
/opt/OSELAS.Toolchain-2011.11.0/arm-v5te-linux-gnueabi/gcc-4.6.2-glibc-2.14.1-binutils-2.21.1a-kernel-2.6.39-sanitized/lib/gcc/arm-v5te-linux-gnueabi/4.6.2/include-fixed
/opt/OSELAS.Toolchain-2011.11.0/arm-v5te-linux-gnueabi/gcc-4.6.2-glibc-2.14.1-binutils-2.21.1a-kernel-2.6.39-sanitized/lib/gcc/arm-v5te-linux-gnueabi/4.6.2/../../../../arm-v5te-linux-gnueabi/include
/opt/OSELAS.Toolchain-2011.11.0/arm-v5te-linux-gnueabi/gcc-4.6.2-glibc-2.14.1-binutils-2.21.1a-kernel-2.6.39-sanitized/sysroot-arm-v5te-linux-gnueabi/usr/include
End of search list
所以,不要試圖貶低或find
它,你可能會得到一個錯誤的路徑。
相關問題
- 1. gcc明白編譯時間在哪裏
- 2. 由arm-gcc編譯器編譯的c代碼的頭文件
- 3. 編譯編譯器錯誤編譯GCC
- 4. 如何查看哪些頭文件用於gcc/g ++編譯
- 5. 編譯後的R文件在哪裏?
- 6. 找不到gcc編譯器
- 7. 使用GCC預編譯頭文件
- 8. CMake,Qt,gcc和預編譯頭文件
- 9. Qt編譯器找不到頭文件
- 10. C編譯器找不到頭文件
- 11. Python:在哪裏編譯RE?
- 12. Android庫在哪裏編譯?
- 13. xcode項目中的預編譯頭文件在哪裏?
- 14. 交叉編譯器在哪裏查找庫?
- 15. 告訴TypeScript編譯器在哪裏查找非相關模塊
- 16. 編譯內核時編譯器使用哪個頭文件路徑?
- 17. 如何在使用GCC編譯C++時包含C11頭文件?
- 18. GCC編譯時間不會從預編譯頭文件中獲益太多
- 19. scala編譯器在哪裏存儲AST?
- 20. C++編譯器在哪裏啓動?
- 21. .NET命令行編譯器在哪裏?
- 22. 編譯頭文件
- 23. 慢編譯時間與升壓+ GCC +編譯頭
- 24. 使用「gcc」編譯器編譯C++簡單文件
- 25. 編譯* .cc文件時出現Gcc編譯錯誤
- 26. gcc條件編譯
- 27. 錯誤編譯C++文件在GCC
- 28. 如何在Windows編譯器和GCC編譯器中使用SSE?
- 29. C++:鏈接文件與GCC編譯器
- 30. weblogic 11g使用哪個編譯器(編譯器位置)編譯JSP文件?
檢查文件是否真的存在?如果沒有關於缺少什麼的信息(你的文件或其他東西),很難說什麼 – nhahtdh
你需要額外的'-I'選項來'gcc',並且你可能想要使用'' –
這些天,不是每一個系統將在系統上擁有DCE(桌面計算環境 - 用於Motif等,從OSF/1的輝煌日子等)。代碼是新的還是舊的?它是否附帶說明如何在您的平臺上找到DCE(以及您的平臺是什麼)? (GCC在不同平臺上的不同位置查找,主要看起來在/ usr/include;看起來取決於它的配置。) –