error warning

发布时间:2024年01月18日

(持续更新)

1、error C1189

错误?? ?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]?? ?c:\program files (x86)\microsoft visual studio 12.0\vc\atlmfc\include\afx.h?? ?24?? ?1?? ?09_Win32_to_MFC


解决方法1:

头文件中加

#define _AFXDLL

方法2 右键工程-属性-常规-MFC使用 -静态使用MFC

AdxDll --- MFC Dll

2、error C2678

问题描述:自定义结构体塞到vector中遍历时

原因:1、未重载

  bool operator==(const St& data)const;

2、遍历中参数第二个参数写错,类型是St

3、调试串行

(PS:遇到好多次了………最近又恶心到我了)

现象:调试时无法跳转到指定函数或者调试位置。

原因:大多数人说是内存紊乱导致,我认为是生成pdb错误导致,pdb主要是用于调试的。

生成错误的原因极有可能是和文件格式有关。

解决方案:

1、代码黏贴到notepad++中,全选,保存为ANSI,另存文件;删除原文件,进行替换;(可能需要多次尝试,或者试着转为ANSI)

2、关闭程序,重新打开

3、关闭电脑,清理下,重新打开

强烈怀疑这个警告有关

警告	1	warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失	

4、C4819

C4819

C4819

这个抄下来

解决办法
1、如果调用的库为C语言,增加extern "C" ? ?
extern表明变量或函数是extern类型,“C”表明变量和函数是按照C语言方式编译和连接的。
2、修改字符编码格式
(1)单击“工具”|“自定义”命令,弹出“自定义”对话框。
(2)单击“命令”标签,进入“命令”选项卡。
(3)在“菜单栏”下拉列表中,选择“文件”选项。
(4)单击“添加命令”按钮,弹出“添加命令”对话框。
(5)在“类别”列表中,选择“文件”选项;在“命令”列表中,选择“高级保存选项”选项。
(6)单击“确定”按钮,关闭“添加命令”对话框。
(7)选中“控件”列表中的“高级保存选项”选项,单击“上移”或者“下移”按钮,调整该命令的位置。
(8)单击“关闭”按钮,完成“高级保存选项”命令的添加操作。
(9)打开“文件”菜单下的“高级保存选项”,设置编码 Unicode(utf-8带签名)- 代码页 65001?

5、不一致的行尾

不一致的行尾

编码和行尾

1、S中最常见的就是在自动补全的switch语句中default:后面的换行符与其他地方的不一样

文章来源:https://blog.csdn.net/Ma_Hong_Kai/article/details/135586347
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。