我在使用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. CMake,Qt,gcc和预编译头文件
- 8. 使用GCC预编译头文件
- 9. 哪里可以找到Eclipse编译器?
- 10. C编译器找不到头文件
- 11. Qt编译器找不到头文件
- 12. Android库在哪里编译?
- 13. Python:在哪里编译RE?
- 14. xcode项目中的预编译头文件在哪里?
- 15. 交叉编译器在哪里查找库?
- 16. 告诉TypeScript编译器在哪里查找非相关模块
- 17. 如何在使用GCC编译C++时包含C11头文件?
- 18. 编译内核时编译器使用哪个头文件路径?
- 19. GCC编译时间不会从预编译头文件中获益太多
- 20. .NET命令行编译器在哪里?
- 21. scala编译器在哪里存储AST?
- 22. C++编译器在哪里启动?
- 23. 编译头文件
- 24. 慢编译时间与升压+ GCC +编译头
- 25. 使用“gcc”编译器编译C++简单文件
- 26. 编译* .cc文件时出现Gcc编译错误
- 27. gcc条件编译
- 28. 错误编译C++文件在GCC
- 29. 如何在Windows编译器和GCC编译器中使用SSE?
- 30. C++:链接文件与GCC编译器
检查文件是否真的存在?如果没有关于缺少什么的信息(你的文件或其他东西),很难说什么 – nhahtdh
你需要额外的'-I'选项来'gcc',并且你可能想要使用'' –
这些天,不是每一个系统将在系统上拥有DCE(桌面计算环境 - 用于Motif等,从OSF/1的辉煌日子等)。代码是新的还是旧的?它是否附带说明如何在您的平台上找到DCE(以及您的平台是什么)? (GCC在不同平台上的不同位置查找,主要看起来在/ usr/include;看起来取决于它的配置。) –