首页 > 代码库 > VC6的工程转到VC2010或更高版本出现fatal error C1189编译错误的解决方法
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”的定义删除。
不知道怎么删?后面有个下拉按钮,点开来后选择“编辑”,在弹出的窗口中把它删掉,重新编译,如果还没有解决你的问题,那就给我留言吧,看看能不能帮到你!
VC6的工程转到VC2010或更高版本出现fatal error C1189编译错误的解决方法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。