用vs2015写c++,编译报错项目已过期,怎么回事?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用vs2015写c++,编译报错项目已过期,怎么回事?相关的知识,希望对你有一定的参考价值。

这个bug的原因是Visual studio 2010认为项目中的被删除的文件是过期的,比如项目中的某个头文件,这个头文件已经被删除,Visual studio 2010找不到这个头文件,就认为它是过期的,所以每次调试VS都认为项目是过期的,需要先编译。
那为什么编译时没有发现有文件被编译呢,原因是这个头文件没有被任何CPP或C文件使用,所以编译时没有发现有文件需要重新编译。
Bug的原理明白了,解决方案就是在VS项目中删除那个头文件。
一种笨方法就是在VS里一个个头文件点击打开,找到不能打开的。
一种聪明的方法是写脚本解析工程文件,然后验证文件是否存在。
还有一种方法是通过DebugView来查看。
下面介绍一个这种方案。
1. 打开devenv.exe.config文件(此文件在%ProgramFiles%\Microsoft Visual Studio 10.0\Common7\IDE\ 或者 %ProgramFiles(x86)%\Microsoft Visual Studio 10.0\Common7\IDE\里)
2. 在</configuration>这行前面添加
<system.diagnostics>
<switches>
<add name=”CPS” value=”4″ />
</switches>
</system.diagnostics>
3. 重新启动Visual Studio
4. 打开DbgView(下载地址:http://technet.microsoft.com/en-us/sysinternals/bb896647), 勾选:菜单-》Capture-》Capture Win32 和 菜单-》Capture-》Capture Events
5. 点击F5开始调试,出现提示“此项目已经过期”时停止
6. 在DbgView按ctrl+F窗口查找“not up to date”,查找到如:
[120] Project ‘D:\cache\test1\test1.vcxproj’ not up to date because build input ‘D:\CACHE\TEST1\FUN1.H’ is missing.
7. 此时就找到了关键文件FUN1.H,只要在工程中移除这个文件再编译一次就可以了。
摘自:http://blog.csdn.net/jiaxiaokai/article/details/50923344 博主:举头红日白云低
摘自:http://blog.csdn.net/jiaxiaokai/article/details/50923344 博主:举头红日白云低
摘自:http://blog.csdn.net/jiaxiaokai/article/details/50923344 博主:举头红日白云低
参考技术A 重新生成一下就可以了,
vs有的时候会自动生成,但有的时候又不行,应该是一个Bug。
所以每次修改之后运行的时候都手动生成一次就好了追问

试过,没用。

追答

先清理再重新生成也不行吗?

vs2019 编译项目报错:MSB6006 “clang.exe”已退出,代码为 5 Microsoft.Cpp.Clang.targets 155 ClangCompile

前言

今天用Vs编译C++项目到AndroidARM平台,生成so,之前都是好好,最近几个月没用了,今天修改了下程序,想重新编译跑一下,发现报错了,报错如下:
在这里插入图片描述
莫名其妙啊,上网查了下没啥太大作用,不过有几个引导的提示很有作用,比如如何查看报错的详细打印和最细致的结果。

正文

在我没有设置过滤详细信息错误展示时,报错是这样的,如下图片:(图片可点击放大)
在这里插入图片描述
表示看不出太多的信息ÿ

以上是关于用vs2015写c++,编译报错项目已过期,怎么回事?的主要内容,如果未能解决你的问题,请参考以下文章

为何刚装的vs2010 ,调试c++时显示 "此项目4 - Debug Win32已过期"?求大神帮忙!!

vs2010 中文版怎么编译的时候按F5总是提示 “此项目已过期”

vs2015写c++不是内部或外部命令,也不是可运行的程序或批处理文件

怎么用vs2019写c语言程序?

怎么用vs2019写c语言程序?

vs2010为啥总显示此项目已过期