2

我只是有一个简单的问题。我注意到我的编译器中没有 stdafx.h(Windows 上的 mingw32)

我应该拥有它吗?或者也许有办法绕过它?

谢谢阅读

编辑:好的,这是我当前的构建日志,一旦我取出所有包含的 stdafx.h

http://pastebin.com/bczLr8xY

4

3 回答 3

6

阅读这篇维基百科文章。我链接的段落和它下面的段落(mingw32 使用 GCC)。

http://en.wikipedia.org/wiki/Precompiled_header#stdafx.h

由于stdafx.h包含最常见的头文件,我将删除每个实例#include stdafx.h并尝试编译。如果您收到缺少某个函数的编译错误,请添加相应的标头。冲洗并重复。

于 2011-03-23T16:37:14.967 回答
3

编号Stdafx.h是用 MSVC++ 创建的。它通常包含最常见的头文件。并且Stdafx.h包含在开头的每个 .cpp 文件中。它是由 MSVC++ 创建的预编译头文件(如果您在设置中选择了)。

于 2011-03-23T16:35:58.803 回答
1

对所有人来说:在 Visual C++ 中使用预编译的头文件 stdafx.h 总是会产生一个或另一个问题,如果你从 Visual C++ 创建了一个“Windows 控制台应用程序”。解决方案是,只需创建“空项目”,而不是预编译的 Windows 控制台应用程序。创建 Empty 项目后,创建源文件。编写业务逻辑并添加所有需要的资源和头文件。将外部依赖文件保存在源代码所在的同一目录中:例如,C:\Users\John\Documents\Visual Studio 2010\Projects\xyz.cpp\xyz.cpp。最后将源文件添加到全局范围,即添加到已经创建的“空项目”中。可以通过单击 Visual Studio 提示符上的“文件”并选择将源文件添加到项目的选项来完成。

于 2014-01-09T11:02:07.657 回答