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”的定义删除。
不知道怎么删?后面有个下拉按钮,点开来后选择“编辑”,在弹出的窗口中把它删掉,重新编译,如果还没有解决你的问题,那就给我留言吧,看看能不能帮到你!
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步