Visual Studio C++ - 无法输出预处理文件

Posted

技术标签:

【中文标题】Visual Studio C++ - 无法输出预处理文件【英文标题】:Visual Studio C++ - Unable to output a preprocessed file 【发布时间】:2017-12-03 09:54:02 【问题描述】:

我正在尝试可视化在 Visual Studio 中预处理的源代码,但我无法输出任何内容。没有错误,但最后也没有任何 .i 文件。

我在这里看到了cl.exe 的这些选项:How do I see a C/C++ source file after preprocessing in Visual Studio?

使用/P,但编译后,它们在我的项目目录或子文件夹中仅此而已。

也试过这个:"preprocess current file" addin for Visual Studio? (C++ )

我已经调整了 devenv.exe 的路径以匹配我的安装,但我收到了来自 Visual Studio 的警告,基本上是一个帮助人员。

我完全错过了什么吗?如何获取预处理的 .i 文件?

【问题讨论】:

“基本上是个帮手” 这应该是什么意思?此外,英文问号在句子中前面没有空格。 @tambre 是的,这可能是因为我是法国人,我们在他们前面加了一个空格,但我知道 ^^ 这意味着它给了我一个提示,解释如何使用所有可用的命令选项,例如帮助人员。 我从来没有听说过你所说的“帮助人”——可能是法语独有的概念(谷歌也没有给我任何结果)。您可能指的是“帮助提示”,如果您的命令语法无效,通常由命令行工具显示。 转到Project PropertiesC/C++Preprocessor 并将Preprocess to a file 设置为Yes。重建项目。预处理文件应保存在Output directory @tambre en.m.wikipedia.org/wiki/Man_page 【参考方案1】:

我无法使用 Visual Studio 2017 的内置选项制作预处理的 .i 文件,但使用命令行方法它可以工作:

    打开Developer Command Prompt for Visual Studio的命令提示符

    使用cd 导航到此位置:$(SolutionDir)$(ProjectName)。在我的情况下是这样的:C:\Users\UserName\Source\Repos\Project1\Project1

    使用这个命令:CL /P /C Source1.cpp

现在我的Source1.i 出现在我的来源旁边。感谢大家非常有帮助的意见。我将在 Visual Studio 开发者社区上报告此问题。

【讨论】:

一旦你报告了它,请确保在你的答案中链接报告。 报告在这里:developercommunity.visualstudio.com/content/problem/159405/… @hymced 你遇到过这个错误 LNK 1104...无法像那样打开文件 /Debug.xxx.obj 吗?

以上是关于Visual Studio C++ - 无法输出预处理文件的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio 2015 c++ 无法打开包含文件或源文件

为啥我不能在 Visual Studio 中禁用预编译头文件?

如何使用 Visual Studio Code 为 cmake 添加预构建步骤?

c++ 函数模板的问题,请看代码,为啥去掉注释后,visual studio 2012会无法运行。

C : Visual Studio 和 Eclipse+MinGW 中的预编译头文件

用于输出的 Visual Studio 代码 C++ 终端