VS2012对C++头文件检查不严格
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VS2012对C++头文件检查不严格相关的知识,希望对你有一定的参考价值。
很多库函数没写头文件照样编译,要怎么修改设置呢
首先,我没遇到过你说的这种情况,你能否举例看看
其次,你是否是用一个头文件,但却用了另一个头文件才有的函数?很多头文件都包含了其他的头文件,你可以打开那个头文件查看下就知道了。
比如VS2012的预编译头文件stdafx.h就是这样定义的:
// 或是经常使用但不常更改的
// 特定于项目的包含文件
//
#pragma once
#include "targetver.h"
#include <stdio.h>
#include <tchar.h>
// TODO: 在此处引用程序需要的其他头文件
要不然微软是吃白饭的啊?
VS 总是寻找预编译的头文件
【中文标题】VS 总是寻找预编译的头文件【英文标题】:VS Always looks for precompiled headers 【发布时间】:2018-02-22 10:03:23 【问题描述】:我正在使用 VS Community 2015 创建 C++ 控制台应用程序
我正在尝试停止使用预编译的标头。
我已删除 #include "stdafx.h"
以及 stdafx .h 和 cpp 文件。
在我选择的项目属性页面中
不使用预编译头文件
我尝试过清理、重建,但没有任何效果。
VS 一直在寻找预编译的头文件:
1>ConsoleApplication2.cpp(7):致命错误 C1010:意外结束 文件同时寻找预编译的头文件。您是否忘记添加 '#include "stdafx.h"' 到您的来源?
谁有解决办法?
【问题讨论】:
【参考方案1】:可以在单个源文件级别覆盖 VS 项目属性。检查 ConsoleApplication2.cpp
的属性(以及其他出现错误的源文件)并确保它们的 PCH 相关属性未加粗,即它们处于“从父级或项目默认值继承”状态。
还要确保您正在编辑您实际构建的配置(例如“调试”)的属性。 VS 属性对话框允许您编辑任何配置的属性,而不仅仅是解决方案范围配置组合中当前选择的属性。我通常做的是在退出之前总是将对话框的配置设置为“活动”选项,这样当我打开它时,我就不必检查了。
【讨论】:
以上是关于VS2012对C++头文件检查不严格的主要内容,如果未能解决你的问题,请参考以下文章
VS c++2005中头文件有的为啥必须加.h比如malloc