VS2015模块库交接出现环境报错 error MSB8031 和 error C1189
最佳答案 问答题库618位专家为你答疑解惑
问题报错
1.错误 MSB8031 Building an MFC project for a non-Unicode character set is deprecated. You must change the project property to Unicode or download an additional library.
错误 MSB8031不赞成为非Unicode字符集生成MFC项目。您必须将项目属性更改为Unicode,或者下载一个附加库。
2.错误 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]
错误C1189 #错误:使用/MD[d] (CRT dll版本)生成MFC应用程序需要MFC共享dll版本。请#define _AFXDLL或不要使用/MD[d]
解决
1.错误 MSB8031 Building an MFC project for a non-Unicode character set is deprecated. You must change the project property to Unicode or download an additional library.
这个错误 MSB8031
指出,你的 MFC 项目正在使用非 Unicode 字符集进行构建,而这已经被弃用。你需要将项目属性更改为 Unicode 字符集,或者下载并安装额外的库来处理非 Unicode 字符集。
要解决这个问题,你可以按照以下步骤进行操作(这是基于 Visual Studio 的假设,具体步骤可能有所不同):
打开你的项目。
在 Visual Studio 中,选择菜单中的 "Project"(项目) > "Properties"(属性)。
在弹出的属性对话框中,找到 "General"(常规)选项卡。
在 "Character Set"(字符集)下拉菜单中,选择 "Use Unicode Character Set"(使用 Unicode 字符集)。
确认更改并重新编译项目。
如果你不想迁移到 Unicode,也可以尝试下载并安装 Microsoft Foundation Classes for Unicode (MFC) 库。这个库提供了支持 Unicode 的 MFC 版本,可以用于在非 Unicode 项目中使用。
在 Visual Studio 安装程序中,你可以检查是否安装了这个库。如果没有安装,你可以选择重新安装 Visual Studio 并确保选择了 MFC 组件。
请注意,尽管使用 Unicode 在许多情况下是一个良好的选择,但在某些特定情况下,可能需要继续使用非 Unicode 字符集。在这种情况下,请确保你的项目中的字符集设置是正确的。
2.错误 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] SciBinocularCalibration
这个错误 C1189 提示你正在尝试使用 MFC 应用程序,但编译选项使用了 /MD
或 /MDd
(指定运行时库的多线程 DLL 版本)。这需要使用 MFC 共享 DLL 版本,而你的项目并没有定义 _AFXDLL
,因此编译器产生错误。
要解决这个问题,你可以执行以下步骤:
打开你的项目。
在 Visual Studio 中,选择菜单中的 "Project"(项目) > "Properties"(属性)。
在弹出的属性对话框中,找到 "C/C++" > "Preprocessor"(预处理器)选项。
在 "Preprocessor Definitions"(预处理器定义)中,添加
_AFXDLL
。确认更改并重新编译项目。
这样做会告诉编译器你的应用程序使用了 MFC 共享 DLL 版本。
如果你仍然遇到问题,可以检查你的项目设置,确保以下设置正确:
-
在 "C/C++" > "Code Generation"(代码生成)中,确保 "Runtime Library"(运行时库)设置为 "Multi-threaded DLL (/MD)" 或 "Multi-threaded Debug DLL (/MDd)"。
-
在 "General"(常规)选项卡中,确保 "Use of MFC"(使用 MFC)设置为 "Use MFC in a Shared DLL"(在共享 DLL 中使用 MFC)。
确保这些设置都正确,重新编译你的项目,应该就能够解决这个问题了。
99%的人还看了
相似问题
- UniApp项目中 使用微信小程序原生语言 进行开发
- 在PyCharm中正确设置Python项目
- 基于springboot实现班级综合测评管理系统项目【项目源码+论文说明】
- 合肥中科深谷嵌入式项目实战——基于ARM语音识别的智能家居系统(三)
- 基于Springboot的美容院管理系统(有报告)。Javaee项目,springboot项目。
- 前后端分离项目跨域请求的问题与解决办法
- 普乐蛙VR航天航空巡展项目来到了第七站——绵阳科博会
- 计算机毕业设计选题推荐-家庭理财微信小程序/安卓APP-项目实战
- Springboot和Vue+MYSQL项目(基本介绍+前后端结合初步项目)+maven+mybatis
- ssm+vue的药店药品信息管理系统(有报告)。Javaee项目,ssm vue前后端分离项目。
猜你感兴趣
版权申明
本文"VS2015模块库交接出现环境报错 error MSB8031 和 error C1189":http://eshow365.cn/6-37142-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!