c语言报错找不到标识符,error C3861: “_T”: 找不到标识符

头天好好的程序,第二天一早就报错,还是莫名其妙的错误:atlconv.h等头文件中的“_T” 报错,百思不得其解,各种搜索而不得,整个人都崩溃了。

出问题一定是有原因的,后来冷静下来,缕缕思路,逐一排查。

有一点可以确定:程序本身是没问题的,出错是在字符集,因为备份的程序也报同样的错误。

既然在atlconv.h等头文件中,试试替换VS安装目录中的atlmfc目录下的这些文件。虽然这些文件是VS自带的atl头文件,自己也没改动过,但不代表它没被改过。从同事那里拷贝过来头文件,替换,程序仍然报错。

后来,又测试新建的win32 程序,也报错,,,,,,那就只能是定义了"_T"的头文件出错了吧。

找到电脑中名字为tchar.h的所有文件

C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\crt\src\tchar.h

C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\tchar.h发现VS目录中有这两个,然后对比两个文件的MD5码,竟然不一样!发现后者中的tchar.h文件早上被改动过了,,,,,,,欲哭无泪-_-

删除第二个头文件,程序找不到头文件;用前者替换第二个头文件,编译OK!

反思:出问题一定有原因,不要感觉莫名其妙,不要固执的认为自己什么都没动,文件就不会变;什么都没改,程序就不应该出错,系统改动过了呢。多测试多排查,各种可能都要考虑。

后记:应该是所有_T的地方都报错,只是不能输出显示那么多。最后一个错误 “无法从以前的错误中恢复;正在停止编译”,表示错误太多,编译器已停止编译。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值