我正在 Qt Creator 中编译 C 代码,我需要查看预处理器输出。
我在 make 中添加了 -E 标志,但我没有看到 *.i 文件:
mingw32-make.exe -e -w in \qt\qt-build-desktop
请帮忙。
最佳答案
-E 是 gcc 选项,而不是 make 选项,因此将它传递给 make 不会做任何事情。此外,使用 -E 可以很好地处理单个文件,但会破坏您的构建,因为没有生成正确的 .o 文件(它包含预处理的源)。 不过,将以下内容添加到 .pro 文件中效果很好:
QMAKE_CXXFLAGS += -save-temps
现在,如果您构建项目,源文件 foo.cpp 的预处理源将保留为 foo.ii。 (在 OS X 上使用 make+gcc 测试,我认为它也适用于 mingw)。
编辑:刚了解到 MSVC 的等效标志是
QMAKE_CXXFLAGS += -P
关于c - Qt Creator 上的预处理器输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4493293/