Error C1189: #error: Please use the /MD switch for _AFXDLL builds

时间:2021-01-18 04:07:06

在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)

Error C1189: #error: Please use the /MD switch for _AFXDLL builds

Error C1189: #error: Please use the /MD switch for _AFXDLL builds

相关注释:

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的更多相关文章

  1. 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 : ...

  2. VS错误:#error 指令: Please use the /MD switch for _AFXDLL builds

    我在做MFC时遇到过这个问题,解决方法如下: 修改设置:工程(Project)-> 属性(Properties)-> 配置属性(Configuration Properties)-> ...

  3. 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 ...

  4. 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 ...

  5. 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 ...

  6. 从“空项目”创建MFC项目遇到的问题error C1189,error MSB8031

    在VS2013中创建了一个空项目,创建了MyApp.h, MyApp.cpp(MyApp.h使用了<afxwin.h>) build的时候报错: fatal error C1189: #e ...

  7. fatal error C1189&colon; &num;error &colon; WINDOWS&period;H already included&period; MFC apps must not &num;include &lt&semi;windows&period;h&gt&semi;

    给对话框添加类, 报错 CalibrateMFCDlg.h(6) : error C2504: “CDialog”: 未定义基类 等多个错误 加上 #include "afxwin.h&qu ...

  8. VS2003转VS2010 fatal error C1189&colon; &num;error

    我自己的mfc的demo要转换编译环境出现以下编译错误: VS2010编译错误:fatal error C1189: #error : This file requires _WIN32_WINNT ...

  9. 【转】fatal error C1189&colon; &num;error &colon; missing -D&lowbar;&lowbar;STDC&lowbar;CONSTANT&lowbar;MACROS &sol; &num;define &lowbar;&lowbar;STDC&lowbar;CONSTANT&lowbar;MACROS

    转自:http://blog.csdn.net/friendan/article/details/46576699 fatal error C1189: #error :  missing -D__S ...

随机推荐

  1. js url&period;slice&lpar;star&comma;end&rpar; url&period;lastIndexOf&lpar;&&num;39&semi;&sol;&&num;39&semi;&rpar; &plus; 1&comma; -4

    var url = '"http://60.195.252.25:15518/20151228/XXSX/作三角形的高.mp4")' document.title = url.sl ...

  2. jquery和dom之间的转换

    刚开始学习jquery,可能一时会分不清楚哪些是jQuery对象,哪些是DOM对象.至于DOM对象不多解释,我们接触的太多了,下面重点介绍一下jQuery,以及两者相互间的转换. 什么是jQuery对 ...

  3. Android Calander Event

    必须权限 <uses-permission android:name="android.permission.READ_CALENDAR" /> <uses-pe ...

  4. OpenJudge&sol;Poj 1658 Eva&&num;39&semi;s Problem

    1.链接地址: http://bailian.openjudge.cn/practice/1658 http://poj.org/problem?id=1658 2.题目: 总时间限制: 1000ms ...

  5. 微信公众平台--网页授权获取用户基本信息(snsapi&lowbar;userinfo方式)

    关于snsapi_userinfo网页授权的说明 以snsapi_userinfo为scope发起的网页授权,是用来获取用户的基本信息的.但这种授权需要用户手动同意,并且由于用户同意过,所以无须关注, ...

  6. Tomcat工作原理&lpar;转&rpar;

    Tomcat简介 作者:杨晓(http://blog.sina.com.cn/u/1237288325) 一.Tomcat背景 自从JSP发布之后,推出了各式各样的JSP引擎.Apache Group ...

  7. JDBC使用sql语句

    JDBC---连接数据库 java与数据库连接需要驱动,这个驱动则是JDBC,连接的时候需要ip+端口号+dbname 还要用户名和密码 改java文件的编码方式--在项目名点右键属性----把编码方 ...

  8. jenkins 配置安全邮件

    Jenkins网页设置界面只支持SSL协议 ,对于STARTTLS协议,需要修改jenkins的配置文件去支持基于TLS的SMTP认证 1.修改jenkins配置文件 打开jenkins配置文件/et ...

  9. 浅谈ajax的优点与缺点

    AJAX (Asynchronous Javascript and XML) 是一种交互式动态web应用开发技术,该技术能提供富用户体验. 完全的AJAX应用给人以桌面应用的感觉.正如其他任何技术,A ...

  10. oracle-闪回技术1

    http://blog.csdn.net/lqx0405/article/details/44776737  Oracle Study案例之--基于表空间的时间点恢复(TSPITR) DBPITR 数 ...