死磕Visual Studio 2010 unsuccessfulbuild因为AlwaysCreate顽疾

网上搜了一下,国内百度搜索排名靠前的文章都没有把这个问题说清楚。

这个问题就是要彻底解决。


网上一般的说法就是缺文件,看看项目列表的文件有没有不存在的,缺头文件,缺资源,缺源文件,缺各种添加项,甚至readme.txt

这个方法可以解决部分因为缺文件导致的

但是我的项目不缺文件


然后国内程序员竟然想到了直接修改VC的全局配置,不进行unsucessfulbuild检测,不进行AlwaysCreate,真是佩服这些程序员天马行空的执行力。


还有说vs2010 sp1就没事的,我的就是sp1


其实这个问题早在VC6的时候就经常遇到,比如某程序员因为测试,调了本机时间,然后修改了某个文件保存,于是某个文件的最后修改时间变成了未来,于是VC就判断这个文件修改了。

本着这个思路,先看看项目文件源文件最后修改时间是否有异常,没有。


这个项目相对别的项目有一个特殊情况就是把一个.lib文件以库类型添加项的形式加入项目,检查了一下这个.lib文件,发现可能就是这个文件导致的。

因为项目不断被拷来拷去,最后修改时间一直没变,但是文件创建时间是每次拷贝的时间,因此这个文件的最后修改时间是早于创建时间的,于是touch了一下,把最后修改时间和最后访问时间改到了现在,然后重新编译项目,问题解决。

还有一种情况,就是每次AlwaysCreate,实际上什么也不做,这种可能是生成的中间目录有些时间问题,把中间生成文件和目录都删掉,重新来一次就好了


PS:touch是linux命令行,我装了msys2,基础的linux命令行都有,工作还是比较方便的。

1>------ 已启动生成: 项目: TCPSever0, 配置: Debug Win32 ------ 1>生成启动时间为 2025/6/14 15:05:03。 1>InitializeBuildStatus: 1> 正在对“Debug\TCPSever0.unsuccessfulbuild”执行 Touch 任务。 1>ClCompile: 1> sever.cpp 1>c:\users\administrator\documents\visual studio 2010\projects\tcpsever0\tcpsever0\sever.cpp(27): warning C4996: 'sscanf': This function or variable may be unsafe. Consider using sscanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. 1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdio.h(325) : 参见“sscanf”的声明 1>c:\users\administrator\documents\visual studio 2010\projects\tcpsever0\tcpsever0\sever.cpp(35): error C2143: 语法错误 : 缺少“,”(在“:”的前面) 1>c:\users\administrator\documents\visual studio 2010\projects\tcpsever0\tcpsever0\sever.cpp(35): error C2530: “c”: 必须初始化引用 1>c:\users\administrator\documents\visual studio 2010\projects\tcpsever0\tcpsever0\sever.cpp(35): error C3531: “c”: 类型包含“auto”的符号必须具有初始值设定项 1>c:\users\administrator\documents\visual studio 2010\projects\tcpsever0\tcpsever0\sever.cpp(35): error C2143: 语法错误 : 缺少“;”(在“{”的前面) 1>c:\users\administrator\documents\visual studio 2010\projects\tcpsever0\tcpsever0\sever.cpp(36): error C2228: “.name”的左边必须有类/结构/联合 1> 类型是“int” 1>c:\users\administrator\documents\visual studio 2010\projects\tcpsever0\tcpsever0\sever.cpp(36): error C2228: “.phone”的左边必须有类/结构/联合 1> 类型是“int” 1>c:\users\administrator\documents\visual studio 2010\projects\tcpsever0\tcpsever0\sever.cpp(36): error C2228: “.address”的左边必须有类/结构/联合 1> 类型是“int” 1>c:\users\administrator\documents\visual studio 2010\projects\tcpsever0\tcpsever0\sever.cpp(79): error C2143: 语法错误 : 缺少“,”(在“:”的前面) 1>c:\users\administrator\documents\visual studio 2010\projects\tcpsever0\tcpsever0\sever.cpp(79): error C2530: “c”: 必须初始化引用 1>c:\users\administrator\documents\visual studio 2010\projects\tcpsever0\tcpsever0\sever.cpp(79): error C3531: “c”: 类型包含“auto”的符号必须具有初始值设定项 1>c:\users\administrator\documents\visual studio 2010\projects\tcpsever0\tcpsever0\sever.cpp(79): error C2143: 语法错误 : 缺少“;”(在“{”的前面) 1>c:\users\administrator\documents\visual studio 2010\projects\tcpsever0\tcpsever0\sever.cpp(80): error C2228: “.name”的左边必须有类/结构/联合 1> 类型是“int” 1>c:\users\administrator\documents\visual studio 2010\projects\tcpsever0\tcpsever0\sever.cpp(81): error C2228: “.name”的左边必须有类/结构/联合 1> 类型是“int” 1>c:\users\administrator\documents\visual studio 2010\projects\tcpsever0\tcpsever0\sever.cpp(81): error C2228: “.phone”的左边必须有类/结构/联合 1> 类型是“int” 1>c:\users\administrator\documents\visual studio 2010\projects\tcpsever0\tcpsever0\sever.cpp(81): error C2228: “.address”的左边必须有类/结构/联合 1> 类型是“int” 1> 1>生成失败。 1> 1>已用时间 00:00:00.77 ========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========
06-16
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值