VC++编译出错,错误代码:error C1189,请各位高手指点一下。

2024-12-21 15:06:29
推荐回答(3个)
回答1:

2个解决办法。
1.工程-》属性-》C/C++-》代码生成-》运行时库:修改成: 多线程调试(/MTd); (release版本也修改成 多线程(/MT)

2.工程-》属性-》常规-》MFC的使用:修改为:在静态库中使用 MFC
方法2不一定管用,PC机上的MFC(相对于EVC而言)程序都是多线程的(不信你照2修改试试,会出现找不到_beginthread函数的定义),必须设置多线程版本的运行时库。也就是照1的设置

大哥多给点分吧

回答2:

把.c扩展名改成.cpp就可以了,编译器是依据扩展名来判断是c还是c++语言

回答3:

错误 30 fatal error C1189: #error : Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d] D:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\atlmfc\include\afx.h 24
出现原因(自己加了个头文件 #include"afx.h")
翻一下我这句话:
添加 #define _AFXDLL 就可以了