vs将指令添加到“StdAfx.h”或重新生成预编译头

目录

编译生成失败解决方案

错误内容

解决方法


编译生成失败解决方案

错误内容

在Visual Studio编译或者生成,重新生成遇到如下类似情况的导致编译失败生成失败的

1>d): warning C4996: 'itoa': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _itoa. See online help for details.
1>:d:\visual studio\vc\include\stdlib.h(867) : 参见“itoa”的声明
1>: SaveGpsData.cpp
1>: warning C4627: “#include "SaveGpsData.h"”: 在查找预编译头使用时跳过
1>:     将指令添加到“StdAfx.h”或重新生成预编译头
1>: warning C4627: “#include "DeviceItem.h"”: 在查找预编译头使用时跳过
1>      将指令添加到“StdAfx.h”或重新生成预编译头
1>: error C2653: “CSaveGpsData”: 不是类或命名空间名称
1>: error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>: error C2065: “m_bOpenMySql”: 未声明的标识符
1>: error C2065: “m_pIMySqlDataBase”: 未声明的标识符
1>: error C2065: “m_GpsDataMem”: 未声明的标识符
1> error C2228: “.InitMemory”的左边必须有类/结构/联合
1>          类型是“'unknown-type'”
1> warning C4508: “CSaveGpsData”: 函数应返回一个值;假定“void”返回类型
1> error C2653: “CSaveGpsData”: 不是类或命名空间名称
1>: fatal error C1903: 无法从以前的错误中恢复;正在停止编译

生成失败。
1>
1>已用时间 00:00:08.38
========== 全部重新生成: 成功 0 个,失败 1 个,跳过 0 个 ==========

解决方法

方法一:对应的头文件未添加,在代码开头部分添加对应的头文件加上#include“stdafx.h”即可正常运行;

方法二:已经添加了头文件,依旧报错!没关系这个是vs配置问题,只需要取消VS默认配置不适用预编译头文件即可✔

具体步骤:点击菜单栏“项目”------“XXXXXXXXXX属性”

在属性页面内,找到C/C++栏目下的预编译头,这里默认是“使用”,点击下拉选择“不使用预编译头”,

最后点击“应用”,再“确定”就好了,再试试重新生成吧~

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在C语言中,预编译文件(stdafx.h)是一个预处理文件,主要用于缩减编译时间和加快编译速度。作为一个预处理文件,stdafx.h主要用于放置经常使用的文件和静态库等信息。使用预编译文件不仅可以显著减少编译时间,还可以避免多次输入重复的文件,简化编程过程。因此,下载并使用stdafx.h可以提高C语言程序的编写效率和运行效率。需要注意的是,文件名不一定非要是stdafx.h,可以根据自己的需要来命名。 为了使用预编译文件,在C中,需要在源代码的开加上一句话:#include "stdafx.h"。接下来,就可以像使用其他文件一样使用stdafx.h了。值得注意的是,如果源代码中没有包含"stdafx.h"文件,那么预编译文件也不会被生成,这样就无法减少编译时间。 总之,下载并使用stdafx.h可以有效提高C语言程序的编写效率和运行效率。当然,需要在编程过程中正确使用和配置预编译文件才能发挥作用。 ### 回答2: C++中的预编译文件stdafx.h是一种常见的技术,它可以优化编译速度和减少二次编译的时间。因此,stdafx.h文件的下载非常重要。 首先,预编译文件是一种在开发过程中可以提高C++编译速度的技术。当一个文件被编译时,如果使用了stdafx.h文件,那么C++只需要编译与代码相关的文件,不会再次编译stdafx.h文件。这种技术可以加速编译和调试代码的过程。 其次,stdafx.h文件的下载对于Visual StudioC++项目的创建和编译非常重要。可以在一个新项目中寻找stdafx.h文件,也可以自己手动创建一个。该文件应该在项目的根文件夹下,并且必须在项目的设置中设置为预编译文件。 在下载stdafx.h文件时,需要注意它的版本和适用范围。不同的C++编译器可能需要不同版本的stdafx.h文件。如果使用错误的版本,将导致编译错误和调试问题。 总之,C++中的预编译文件stdafx.h在提高编译速度和减少二次编译的时间方面具有重要作用。开发者应该注意正确地下载和使用该文件,以获得更好的编程体验。 ### 回答3: 首先,需要明确什么是预编译文件。 预编译文件是一种优化编译速度的方法。在编译大型项目时,有很多文件需要被引入,这些文件中可能会引用其他文件,甚至会出现相同的文件被多次引用的情况。每次编译都需要重新打开、读取和处理这些文件,而这个过程是很耗时的。 预编译文件可以解决这个问题。它们在第一次编译项目时被编译器处理,并将它们的信息和代码放到内存中,下次编译时就可以直接使用,避免了重复处理的时间浪费。 在 Visual C++ 中,预编译文件的命名约定是“stdafx.h”,它默认包含了一些常用的文件,例如Windows.h 和 stdlib.h等,开发人员可以自行加入其他文件。 但是需要注意的是,在使用预编译文件之前,需要保证所有包含在stdafx.h中的文件都无需进行更改,并且需要在项目属性中开启“使用预编译文件”的选项,否则将无法生效。 总的来说,使用预编译文件可以显著提高大型项目的编译速度,但需要注意一些约定和开关设置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值