Error C1189: #error: Please use the /MD switch for _AFXDLL builds(转)
原文转自 https://www.cnblogs.com/zwh0214/p/6048360.html
在VS 2013中编译程序时出现错误:
错误提示1:
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]
原因:
常规里面是:在静态库中使用MFC,或使用标准Windows库,此时该处可能无论是什么都会报错
运行库中多线程调试是:MDd(多线程调试DLL)
解决方法:
将MDd改成MTd,如果改正后报错误2,按下面方法更改。
错误提示2:
error C1189: #error: Please use the /MD switch for _AFXDLL builds
原因:
常规里面是:在共享DLL中使用MFC,
运行库中多线程调试是:MTd(多线程调试)
解决方法:
将常规改成:在静态库中使用MFC,或使用标准Windows库
常规和运行库 如下图:
常规: 右击项目->属性->配置属性->常规,然后在右边的“项目默认值”中的“MFC的使用”选项中选择“在静态库中使用MFC”,
多线程调试: 右击项目-->属性->配置属性->c/c++->代码生成->运行时库->多线程调试(/MTd)


相关注释:
MFC的使用,有三种设置:
1.使用标准Windows库
2.在静态库中使用MFC:是将DLL中的相关代码写进EXE文件中,文件较大,但是可以在没有相关DLL的机器上运行;
3.在共享DLL中使用MFC:指的是打包时一些MFC的DLL的内容没有被包含在EXE文件中,所以EXE文件较小,但是运行时要求系统中要有相关的DLL文件;
多线程调试
/MD:在dll中使用多线程,创建动态链接库的release版本,需要选择。
/MT: 在exe里使用多线程,创建exe的release版本,需要选择。
/MTd:同/MT一样,不过是在Debug版本中使用。
/MDL:同/MD一样,不过是在Debug版本中使用。
如果是Debug的“在静态库中使用MFC”,不要使用MDd,改用MTd,然后编译即可通过。
如果是Debug的“在共享DLL中使用MFC”,注意不要使用MTd,改用MDd;
如果是Release版本“在静态库中使用MFC”,不要使用MD,使用MT;
如果是Release版本的“在共享DLL中使用MFC”,不要使用MT,使用MD。
Error C1189: #error: Please use the /MD switch for _AFXDLL builds(转)的更多相关文章
- Error C1189: #error: Please use the /MD switch for _AFXDLL builds
		在VS 2013中编译程序时出现错误: 错误提示1: error C1189: #error : Building MFC application with /MD[d] (CRT dll versi ... 
- VS错误:#error 指令: Please use the /MD switch for _AFXDLL builds
		我在做MFC时遇到过这个问题,解决方法如下: 修改设置:工程(Project)-> 属性(Properties)-> 配置属性(Configuration Properties)-> ... 
- fatal error C1189: #error :  Building MFC application with /MD[d] (CRT dll version) requires MFC
		出现如下错误: fatal error C1189: #error : Building MFC application with /MD[d] (CRT dll version) requires ... 
- fatal error C1189: #error : Building MFC application with /MD[d] (CRT dll version) requires MFC sha
		调试程序时出现以下问题:d:\program files (x86)\microsoft visual studio 10.0\vc\atlmfc\include\afx.h(24): fatal e ... 
- vc/atlmfc/include/afx.h(24) : fatal error C1189: #error : Building MFC application with /MD[d] (CRT
		环境:win7,64位,vs2012 1> c:/program files/microsoft visual studio 8/vc/atlmfc/include/afx.h(24) : fa ... 
- 从“空项目”创建MFC项目遇到的问题error C1189,error MSB8031
		在VS2013中创建了一个空项目,创建了MyApp.h, MyApp.cpp(MyApp.h使用了<afxwin.h>) build的时候报错: fatal error C1189: #e ... 
- fatal error C1189: #error :  WINDOWS.H already included.  MFC apps must not #include <windows.h>
		给对话框添加类, 报错 CalibrateMFCDlg.h(6) : error C2504: “CDialog”: 未定义基类 等多个错误 加上 #include "afxwin.h&qu ... 
- VS2003转VS2010 fatal error C1189: #error
		我自己的mfc的demo要转换编译环境出现以下编译错误: VS2010编译错误:fatal error C1189: #error : This file requires _WIN32_WINNT ... 
- 【转】fatal error C1189: #error : missing -D__STDC_CONSTANT_MACROS / #define __STDC_CONSTANT_MACROS
		转自:http://blog.csdn.net/friendan/article/details/46576699 fatal error C1189: #error : missing -D__S ... 
随机推荐
- C语言字符篇(三)字符串比较函数
			#include <string.h> int strcmp(const char *s1, const char *s2); 比较字符串s1和s2 int strncmp(const ... 
- http与www服务精解
			TCP/IP 协议介绍 在介绍 HTTP 协议之前,先简单说一下TCP/IP协议的相关内容.TCP/IP协议是分层的,从底层至应用层分别为:物理层.链路层.网络层.传输层和应用层,如下图所示: 从应用 ... 
- python正则表达式02--findall()和search()方法区别,group()方法
			import re st = 'asxxixxsaefxxlovexxsdwdxxyouxxde' #search()和 findall()的区别 a = re.search('xx(.*?)xxsa ... 
- <s:submit> 指定的method方法不执行
			很多文章在讲一个表单多个提交方法的时候都是在<s:submit>中通过method来指定,但是我在试验中怎么也不对,jsp页面代码如下 <%@page import="or ... 
- python语法re.compile模块介绍
			1. re模块是正则表达式模块,re模块中包含一个重要函数是compile(pattern [, flags]) ,该函数根据包含的正则表达式的字符串创建模式对象.可以实现更有效率的匹配. impor ... 
- Android通过用代码画虚线椭圆边框背景来学习一下shape的用法
			在Android程序开发中,我们经常会去用到Shape这个东西去定义各种各样的形状,shape可以绘制矩形环形以及椭圆,所以只需要用椭圆即可,在使用的时候将控件比如imageview或textview ... 
- 《Cracking the Coding Interview》——第13章:C和C++——题目6
			2014-04-25 20:07 题目:为什么基类的析构函数必须声明为虚函数? 解法:不是必须,而是应该,这是种规范.对于基类中执行的一些动态资源分配,如果基类的析构函数不是虚函数,那么 派生类的析构 ... 
- 《Cracking the Coding Interview》——第6章:智力题——题目6
			2014-03-20 01:14 题目:有100栈灯,一开始都关着.如果你按照n从1~100的顺序,每次都掰一下n的倍数的开关(开->关,关->开),那么到最后有多少灯是亮的? 解法:这个 ... 
- Python学习-django-Form组件
			Django的Form主要具有一下几大功能: 生成HTML标签 验证用户数据(显示错误信息) HTML Form提交保留上次提交数据 初始化页面显示内容 小试牛刀 1.创建Form类 +? 1 2 3 ... 
- (笔记) RealTimeRender[实时渲染] C3
			@author: 白袍小道 转载表明,查看随缘 前言: 从历史上看,图形加速始于每个像素扫描线上的插值颜色重叠一个三角形,然后显示这些值.包括访问图像数据允许纹理应用于表面.添加硬件 插入和测试z深度 ... 
