VC(VS)常见编译错误

本文汇总了VS/VC环境下常见的编译错误和警告,包括IntelliSense:#error指令、warningLNK4098、_CRT_SECURE_NO_WARNINGS错误等,并提供了详细的解决步骤,帮助开发者快速定位并解决问题。
1.IntelliSense: #error 指令: Please use the /MD switch for _AFXDLL builds

解决方法:
工程(Project)-> 属性(Properties)-> 配置属性(Configuration Properties)-> c/c+±> 代码生成(Code Generation)->运行库

(Use run-time library)->多线程调试DLL(/MD)

2.warning LNK4098: 默认库“MSVCRT”与其他库的使用冲突;请使用 /NODEFAULTLIB:library

解决方法:
【项目】->【属性】->【配置属性】->【连接器】->【输入】->【忽略指定库】,输入:msvcrt.lib

【项目】->【属性】->【配置属性】->【连接器】->【命令行】,输入:/NODEFAULTLIB:msvcrt.lib

3._CRT_SECURE_NO_WARNINGS错误

项目->属性->配置属性->C/C+±>预处理器->预处理器定义 后面加上 "_SCL_SECURE_NO_WARNINGS"即可,前面用分号隔开
或在预编译头文件stdafx.h中添加 #define _CRT_SECURE_NO_WARNINGS(注意:在任何include之前)
或#param warning(disable:4996)

4.error C2065: “IDD_PASSWORD_DIALOG”: 未声明的标识符

但实际上IDD_PASSWORD_DIALOG已经在resource.h中定义了
解决方法:
在该对话框类的头文件中添加:#include “resource.h”

5.VS2013: error MSB8031: Building an MFC project for a non-Unicode character set is deprecated

VS2010编译生成的代码,用VS2013打开后出现VS2013error 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. See http://go.microsoft.com/fwlink/p/?LinkId=286820 for more information.
解决方法:
打开提示的地址http://go.microsoft.com/fwlink/p/?LinkId=286820,下载
vc_mbcsmfc.exe安装即可。
链接:https://pan.baidu.com/s/17RCb_t96C4jEB_mJD1YEMQ
提取码:fv4d

6.无法定位程序输入点 PacketGetReadEvent 于动态链接库 packet.dll上

解决方法:
网上下载一个网卡抓包装上即可
链接:https://pan.baidu.com/s/1J2tjhHamS-xpolDl_axL1g
提取码:nhvl

7.VS/VC报警:warning C4996: ‘MBCS_Support_Deprecated_In_MFC’: MBCS support in MFC is dep

解决方法:
项目属性–配置属性-- C/C++ --预处理器–预处理器定义中添加:NO_WARN_MBCS_MFC_DEPRECATION
注意:每个语句用分号隔开
原因:
MFC同时支持 Unicode 和 MBCS(multi-byte character set),但 Unicode 日渐流行,而 MBCS 逐渐用得越来越少,
所以,新版本的 MFC 已经把 MBCS 作为过时的方法,所以用新版本的 Visual Studio 编译 MBCS 程序的时候会出现这样的警告信息,建议多用 Unicode。

8.Vs警告:1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppBuild.targets(363,5): warning MSB8004: Intermediate Directory does not end with a trailing slash. This build instance will add the slash as it is required to allow proper evaluation of the Intermediate Directory.

解析:
中间目录没有以“\”结尾。系统的构造实例将会根据要求自动添加。
输出目录没有以“\”结尾。系统的构造实例将会根据要求自动添加。
在这里插入图片描述

添加后则不再警告:

在这里插入图片描述

9.设置VS生成的中间文件位置

在这里插入图片描述
以上”回退位置”(F:\vstemp)就是中间文件生成的位置。

10.Debug不进入DLL断点的解决方法:

https://blog.csdn.net/shakspers/article/details/78978017

待续…
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

随心漂流

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值