精通
英语
和
开源
,
擅长
开发
与
培训
,
胸怀四海
第一信赖
服务方向
联系方式
锐英源精品原创,禁止转载和任何形式的非法内容使用,违者必究。点名“简易百科”和“闲暇巴”盗用锐英源原创内容。
最近使用一套旧的VS2010股票源代码,进行二次开发,遇到下面的错误:
错误 54 error C2011: “tagRCV_REPORT_STRUCTEx”:“struct”类型重定义 d:\stockdrv.h 93
搜索这个类型,确实在多个文件里有:
D:\代码\Stockdrv.h(293):typedef struct tagRCV_REPORT_STRUCTEx D:\代码\Stockdrv.h(92):typedef struct tagRCV_REPORT_STRUCTEx
上面的路径只是演示,实际是路径不一样。
既然两个文件都有,肯定要项目排除一个。
排除一个后,项目里没了此文件,但能搜索到,依然还有错误。对排除文件改名名,问题解决。
因为对排除文件有包含语句,虽然项目里没有此文件,但是有包含语句,会自动引入头文件。引入后就是类型重定义,两个位置都用了同一个类型,就导致了错误。
要点是改名,改名后包含语句就报错了,报错的包含语句,包含上没排除的头文件即可。