您的位置:首页 > 其它

error C3861: “_T”: 找不到标识符

2016-08-03 17:23 1321 查看
头天好好的程序,第二天一早就报错,还是莫名其妙的错误: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的地方都报错,只是不能输出显示那么多。最后一个错误 “无法从以前的错误中恢复;正在停止编译”,表示错误太多,编译器已停止编译。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: