VC6的工程转到VC2010或更高版本出现fatal error C1189编译错误的解决方法
Posted 篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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编译错误的解决方法的主要内容,如果未能解决你的问题,请参考以下文章 将 AfxGetMainWnd 上的 C 样式系列转换从 VC6/MFC6 转换为在现代 MFC 版本(VC++2008 及更高版本)中运行 vc6如何设置当前工程的编译方式,是win32 Debug还是win32 Release方式?