vs2013 C1853 编译问题

来源:互联网 发布:振动分析软件 编辑:程序博客网 时间:2024/04/30 11:13

问题发生背景

在编写ATL exe 程序的时候 ,增加了 一个 TypeLib
系统缺省会将idl 文件编译成 xxx_i.c 和 xxx_i.h 两个文件
并保存在工程 Solution Explorer 的Generated Files 文件夹下

我为了 class view 的美观 ,手欠删掉了这两个文件,然后发现编译不通过了,然后在工程中 add exist item 添上这两个文件,然后就发现报 C1853 错误了 。

问题解决

经过查询资料发现是因为预编译头的问题,由于生成的是 _i.c 文件,需要编译器以C 的方式编译,这时如果还用预编译头 将产生混乱。

然而手动加上两个文件的过程中,IDE 默认给这个c文件加上了预编译头,结果就报错了。

正确做法是 ,为这个c文件设定不使用预编译头。
Solution Explorer -》_i.c 文件–》properties -》configure property–》c/c++ –》precompiled headers –>precompiled header–>将Use (/Yu) 改为Not Using Precompiled Headers
修改之前的
修改之后的

0 0
原创粉丝点击