我尝试使用以下命令将预处理器应用于带有宏的 C++ 头文件。
$ g++ -E heap.h
而且我无法获得预处理的头文件,因为预处理已完成并出现以下错误。
...
...
# 9 "heap.h" 2
heap.h:10:28: fatal error: src/allocation.h: No such file or directory
为了告诉 g++ 关于包含在 heap.h 中的头文件的目录,我输入了下面的命令,但它显示了同样的错误。
$ g++ -E heap.h -I .
...
...
heap.h:10:28: fatal error: src/allocation.h: No such file or directory
如果你有解决这个问题的经验,你能留下这个问题的解决方案吗?
最佳答案
步骤:
- 如果命令不使用绝对路径,您可能需要切换到构建系统调用命令的目录。
- 从您的 make/cmake/etc 复制编译器命令行。输出。
- 添加
-E
切换。 - 添加/更改
-o
参数<source>.i
.
关于c++ - 如何将 C++ 预处理器应用于 Ubuntu 上的 C++ 头文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28760404/