c - Qt Creator 上的预处理器输出

标签 c qt gcc c-preprocessor qmake

我正在 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/

相关文章:

c++ - 在哪里可以找到 Qt 5 beta 2 的 Qt Location 插件?

c++ - 显示在 QtDesigner 中创建的 QDialog

c++ - 在 Ubuntu 中降级 gcc/g++?

c - 2个函数的调度执行

c - 为什么 fopen 文件夹失败?

c++ - 复制时可执行文件以某种方式损坏

c++ - GLM 无法使用 g++/C++11 进行编译

C - 将数字列表与数组进行比较

c - 这个用 C 编写的程序没有给出正确的输出

c++ - 用 C/C++ 编译 DLL,然后从另一个程序调用它