VC6的工程转到VC2010或更高版本出现fatal error C1189编译错误的解决方法

以前也遇到过,当时解决了没写下来,这次正好又遇到了,就顺手写一下吧,别下次又忘记了。

当VC6的工程转到VC2010或更高版本时编译出现如下错误:

c:\program files\microsoft visual studio 10.0\vc\atlmfc\include\afxver_.h(81): fatal error C1189: #error :  Please use the /MD switch for _AFXDLL builds

很多解决方法是把工程属性中的“常规”-“MFC的使用”中的选项要对应“C/C++”-“代码生成”-“运行库”中的选项,比如前面选择了“在静态库中使用MFC”,后面就应该选择“多线程调试/MTd”;前面选择了“在共享DLL中使用MFC”,后面就应该选择“多线程调试DLL/MDd”。当然,你需要对DEBUG和RELEASE版本分别做修改。

如果这时候问题依旧没有解决,那么本文的重点就来了,再次打开工程属性,找到“C/C++”-“预处理器”-“预处理器定义”,把其中“_AFXEXT”的定义删除。

不知道怎么删?后面有个下拉按钮,点开来后选择“编辑”,在弹出的窗口中把它删掉,重新编译,如果还没有解决你的问题,那就给我留言吧,看看能不能帮到你!

转载于:https://www.cnblogs.com/cner/p/6906920.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值