调试错误解决方案之VC++
文|Seraph这篇文章主要用来记录使用Visual Studio过程中出现的各种error并提供自己当时解决的方案。但是一个error可能由不用原因引起的文中案例仅供大家参考。nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex解决将工程设置为Using MFC in static librarycannot open file “mfc42u.lib”解决安装vc时没有安装Unicode版本默认是不安装的可以下载几个库文件copy到vc98/MFC/Lib或者build选择非Unicode版本编译也可以在Set Configuation中配置Unicode相关删除fatal error RC1107: invalid usage; use RC /? for Help解决查看vc目录是否有问题1将附加额外目录暂时移至工程末尾2把其中的反斜线(/)替换为双反斜线(//)或者替换为斜线LINK : fatal error LNK1000: Internal error during IncrBuildImage解决1 项目(Project)-属性(Property)-链接器(Linker)-常规(General) 下面的“启用增量链接(Enable Incremental Linking)”将“是(/INCREMENTAL)”改为“否(/INCREMENTAL:NO)”。不过这又引入了另外一个警 告FormatCom.obj : warning LNK4075: 忽略“/EDITANDCONTINUE”(由于“/INCREMENTAL:NO”规范)。2 选择项目,属性(Property pages)-配置属性(Configuration Properties) -C/C修改“调试信息格式(Debug Information Format)”为“程序数据库(Program Database(/Zi))”即可。LINK1123:failure during conversion to COFF:file invalid or corrup解决将C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\cvtres.exe目录下的cvtres.exe文件用C:\Windows\Microsoft.NET\Framework\v4.0.30319\cvtres.exe代替error c2064:项不会计算为接受1个参数的函数解决可能是运算符乘号未写error c2228:Grade左边必须有类/结构/联合解决不一定是左边的类结构问题前一语句缺少“”也会导致这个错误。error C2440: “”: 无法从“const char [11]”转换为“LPCWSTR”解决vc6.0运行没问题vs2005之后默认Unicode字符集可将其改为Muti-bye。error LNK2019:无法解析的外部符号 _main该符号在函数 ___tmainCRTStartup 中被引用解决建错工程了应该是win32 application(window应用程序win32 application和win32 Console Application区别win32 application就是普通的常见的窗口应用程序win32 Console Application就是MS-DOS窗口命令提示符error C4996:‘sprintf’:This fuction or variable may be unsafe解决将‘sprintf’改为‘sprintf_s’警告就不会再有了。很多函数不进行参数检测越界类等…),微软担心使用这些会造成内存异常所以就改写了同样的功能的函数改写的函数进行了参数的检测使用这些新的函数会更安全和便捷。一般只需加_s就行。error C2084: 函数“XXXXXX“已有主体解决检查是否有重名的函数定义error C2065:‘hInstanceNULL’ : undeclared identifier解决主要是“”是中文字符照成的可能还会报warning C4003: not enough actual parameters for macro CreateWindowA’错致命错误 RC1015: 无法打开包含文件 ‘afxres.h’解决实际上这个问题很多情况下是由于路径设置的问题引起的**executatble files:**C:\Program Files\Microsoft Visual Studio\Common\MSDev98\BinC:\Program Files\Microsoft Visual Studio\VC98\BINC:\Program Files\Microsoft Visual Studio\Common\TOOLSC:\Program Files\Microsoft Visual Studio\Common\TOOLS\WINNT**include files:**C:\Program Files\Microsoft Visual Studio\VC98\INCLUDEC:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDEC:\Program Files\Microsoft Visual Studio\VC98\ATL\INCLUDE**library files:**C:\Program Files\Microsoft Visual Studio\VC98\LIBC:\Program Files\Microsoft Visual Studio\VC98\MFC\LIB**source files:**C:\Program Files\Microsoft Visual Studio\VC98\MFC\SRCC:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDEC:\Program Files\Microsoft Visual Studio\VC98\ATL\INCLUDEC:\Program Files\Microsoft Visual Studio\VC98\CRT\SRCerror C2065: ‘xxxxxxxx’undeclared identifier解决很多是因为“”或者其他符号是中文下输入造成的。error C2653: is not a class or namespace name解决没建立一个新类都要在.cpp文件中加入#include “stdafx.h”,而且要加在第一行,编译器通过一个头文件stdafx.h 来使用预编译头文件。缺失return经常会使弹出内存操作错误解决理清程序结构找到漏写的返回值。First-chance exception in main.exe: 0xC0000005: Access Violation.解决访问违例使用空间但是未申请也可能在使用之前被delete了。LINK : fatal error LNK1168: cannot open Debug/ling.exe for writing解决结束ling.exe进程。error LNK2001: 无法解析的外部符号 public: void __thiscall CSketcherView::OnColorBlack解决OnColorBlack在源文件中未写菜单响应函数消息类型不见了解决直接删除.ncb文件error LNK2019 : unresolved external symbol __imp__PlaySoundW12 referenced in function _WinMain16解决#pragma comment(lib,“winmm.lib”)please enter the path for mfcs42d.pdb解决将debug文件夹内容全部删除调试错误 ASSERTE(_CrtIsValidHeapPointer(pUserData))解决delete 野指针前给指针赋空无法启动此程序 因为计算机中丢失MFC80UD.DLL解决把工程debug下文件全部删除然后rebulid projectVC6.0 error LNK2001: unresolved external symbol _main解决[Project] -- [Settings] -- 选择Link属性页, 在Project Options中将/subsystem:console改成/subsystem:windowsfatal error RC1004: unexpected end of file found解决 头文件里少了结尾的回车vc助手写到一般时突然没有提示了解决可能是前面有哪句写错了然后导致后面识别的全是字符File f:/dd/vctools/vc7libs/ship/atlmfc/src/mfc/viewscrl.cpp, Line 385解决需要在类开时时,增加SetScrollSizes ( MM_TEXT,CSize (0 , 0 ) );error C2668: ‘sqrt’ : ambiguous call to overloaded function解决sqrt处理类型必须是doubleerror C2144:syntax error : ‘char’ should be preceded by ‘;’解决如果在 a.h 里缺少分号, 则编译器会在 b.h 中会提示错误. 所以要在 a.h 中找错误dshow.h无法打开解决vs编译器没有包含dx的drawshow中的include、libfatal error C1001: An internal error has occurred in the compiler.解决清理解决方案然后build源文件与模块生成时的文件不同解决清空解决方案重新生成解决方案error LNK2001: 无法解析的外部符号 “public: virtual void __thiscall CDib::GetTmplPos(void)” (?GetTmplPosCDibUAEXXZ)解决虚函数格式错误必须在源文件函数后加x.exe中的0x77dd15de处有未经处理的异常:0xC015000F:正被停用的激活上下文不是最近激活的解决在Visual Studio中选择Debug | Exceptions菜单项在弹出的对话框中勾选所有的Win32 Exceptions。这样就有机会在第一时间异常处理前看到自己的代码中发生了什么错误而导致抛出异常从而改正错误消除程序中的隐患。注可能是析构函数中释放并未初始化的变量在VC6.0中出现failed to (or don’t know how to) build ‘D:\VC98\MFC\SRC\APPMODUL.CPP’解决系统目录设置问题找到××.dsp文件××为工程名用记事本打开找到如下SOURCE“D:\Program Files\Microsoft Visual Studio\VC98\MFC\SRC\APPMODUL.CPP” # End Source File # Begin Source File对SOURCE修改。error C2146: syntax error : missing ‘;’ before identifier ‘PVOID64’解决将VS编译器环境中directdraw包含文件和包含库调至默认库下方.vs中会先加载项目属性中的包含文件和库再加载vs本身配置的属性。所以导致有些对库包含顺序有要求的库文件出错。——也就是说directdraw不能在项目属性中设置LINK :fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt解决项目–工程属性-配置属性- 清单工具-输入和输出-嵌入清单选择[否]fatal error C1033: cannot open program database e:\实验室工程\newassistivev解决将文件夹换成可读写状态fatal error C1001: An internal error has occurred in the compiler.解决将解决方案清理再重建因为解决方案不是最新的弹出不能找到“SpeechRecognizeBase.h”等文件解决将项目属性的链接和附加目录修改好fatal error C1083:NO such file or directory解决项目属性附加目录添加$(ProjectDir)表示当前工程目录显示未声明某变量解决确认是否有如果其在另一关联文件定义了注意要用extern声明该变量。断点无效解决1清空生成的解决方案重新生成2将工具-选项-调试里-常规 找到 要求原文件与原始版本完全匹配 不要打勾此方法最后试用vc80.pdb解决将文件路径全部改成英文error C2143: syntax error : missing ‘;’ before ‘’error C2433: ‘CDib:: vector’ : ‘virtual’ not permitted on data declarationserror C4430: missing type specifier - int assumed. Note: C does not support default-interror C2238: unexpected token(s) preceding ‘;’解决使用vector未写using namespace std;LINK : fatal error LNK1104: 无法打开文件“ejTTS.lib”解决将链接器中的附加库目录修改为正确的路径chkstk.asm 错误解决在项目-》属性-》配置属性-》链接器-》系统将堆栈保留大小弄大点如50M52428800是堆太小加载溢出如数组buffer定义的太大就会造成此现象error C2065: ‘IDD_DIALOG_WNDSIZE’: undeclared identifier解决将resources.h包含到该对话框头文件中来当编译后按F5进行调试断点无效或有效但是位置乱跳解决勾选 工具-》调试-》常规 要求源文件与原始版本完全匹配程序通过VS编译器F5运行可以直接点击exe运行不正常解决写绝对路径问题就会消失。缺省情况下调试时使用的工作目录是你的项目所在的目录。而直接运行时是你的可执行文件所在的目录。有则有无则无不会无中生有定是另有乾坤加入某些资源文件在最终程序中是有效果的但是又用vs搜寻其ID不到解决清理解决方案重新生成解决方案cannot convert parameter 1 from ‘const char *’ to ‘LPCWSTR’解决将字符串用_T()转换或修改字符集为多字节字符集vs05默认为UNICODE注_T()包含在tchar头文件里error C4430: missing type specifier - int assumed. Note: C does not解决给函数声明加上返回类型注vc6.0默认类型为int型而vs不会这么做所以会报错。放在桌面win8的工程文件无法生成动态链接库DLL解决将工程移置其他目录尝试未知根源关闭工程时还会报无法保存项目设置信息生成的dll无法起到效果解决注意系统有分64和3264位程序必须调用64的dll用相应的平台生成dll文件warning C4786: std::reverse_iteratorstd::basic_stringchar,std::char_traits,std::allocator const *,std::basic_stringchar,std::char_traits,std::allocator ,std::basic_stringchar,std:: char_traits,std::allocator const ,std::basi。。。解决在#include 前加上 #pragma warning(disable:4786)强制去除警告注vc6.0对vector支持不是很好所以才会出现此警告。please enter the path for mfcs42d.pdb 提示解决方法解决Project settings | Link | Debug, 不选 “Separate types”。然后rebuild all。重新把Separate types 勾选上。59.LINK : fatal error LNK1104: 无法打开文件“Log.lib xxx.lib xxx.lib”解决VS10库包含之间是用“”隔离开来的VC6.0是用空格。R6010 abort() has been called解决一般是指针访问越界导致的仔细检查是否有内存写入失败依然会当作成功取获取指针并读取未写入任何信息的内存控件。error LNK2019: unresolved external symbol _main referenced in function ___tmainCRTStartup解决将“Configuration”-“General”中Configuration Type修改为Dynamic Library(.dll)原因由于自己是要编译DLL工程没有相应的启动入口函数。error C4996: ‘fopen’: This function or variable may be unsafe. Consider using fopen_s instead.解决在预处理器定义中添加_CRT_SECURE_NO_WARNINGS或者新建工程时不勾选安全开发生命周期(SDL)检查原因因为很多版本都没有使用安全函数为减少改动关闭相关检查。new xxx一个自建类时弹错应输入类型说明符。解决这种情况基本时函数或变量名与new的那个类同名造成的将函数同名函数或者同名变量名修改下就可以了。解析编辑器不是万能的我们不能自以为编译器可以处理什么而是要了解编译器处理逻辑并知道哪些时编译器处理不了的。这个时候就很体现平常良好的编程习惯的好处了我们一般变量名会全部小写类首字母大写这样就完全不会出现变量名和类名重名的情况。VC转VS工程出现LINK : fatal error LNK1117: 选项“mapinfo:lines”中的语法错误。解决配置属性-链接器-命令行右侧的附加选项删除mapinfo:lines。error LNK2019: 无法解析的外部符号 _GetIfEntry4 解决缺失链接库添加#pragma comment(lib, IPHlpApi.lib)。使用CArray数组报 afxtempl.h Line:254错误。解决可能是数组越界导致。不一定是指CArray本身程序任何地方数组越界都可能不可预知的错误。error C4996: ‘GetVersionExA’: 被声明为已否决。解决将Project Properties Configuration Properties C/C General SDL checks关掉。error C2872: “ACCESS_MASK”: 不明确的符号。解决Opencv的域名冲突。注释掉所有的using namespace cv使用域名引用cv::。找不到 Windows SDK 版本8.1。请安装所需的版本的 Windows SDK 或者在项目属性页中或通过右键单击解决方案并选择“重定解决方案目标”来更改 SDK 版本。解决右键项目属性选择重定向项目在弹出的对话框中选择我们的SDK版本。或者之间安装8.1版本的SDK。每一天都是一个新的日子。走运当然是好的不过我情愿做到分毫不差。这样运气来的时候你就有所准备了。------《老人与海》

相关新闻

终极指南:如何使用Photon光影包彻底改变你的Minecraft视觉体验

终极指南:如何使用Photon光影包彻底改变你的Minecraft视觉体验

终极指南:如何使用Photon光影包彻底改变你的Minecraft视觉体验 【免费下载链接】photon A gameplay-focused shader pack for Minecraft 项目地址: https://gitcode.com/gh_mirrors/photon3/photon 想让你的Minecraft世界焕然一新吗?Photon光影包…

2026/10/15 11:36:22 阅读更多 →
这款神级软件即将停止下载(附安装包)

这款神级软件即将停止下载(附安装包)

Google 已公布 Google 地球 Pro 桌面版下载调整计划,这款经典软件不会立即停用,但新用户获取方式将发生变化。对长期使用 KML、KMZ、影像叠加和本地“我的地点”的 GIS 用户而言,现在需要做的是理解时间点并提前整理工作流。这条消息到底说了…

2026/10/8 12:06:35 阅读更多 →
复习卷积运算

复习卷积运算

复习卷积运算https://www.cnblogs.com/shine-lee/p/9932226.html

2026/10/12 5:08:18 阅读更多 →

最新新闻

深入解析损失函数:从MNIST分类任务彻底搞懂交叉熵

深入解析损失函数:从MNIST分类任务彻底搞懂交叉熵

1. 从“模型为什么学不会”说起:损失函数在MNIST任务里的真实角色很多人跑MNIST手写数字识别,代码一抄、模型一搭、训练一开,看到准确率能到95%以上就觉得万事大吉了。但如果你问他一句:你的模型到底在“学”什么?它凭…

2026/10/16 8:00:16 阅读更多 →
MATLAB元胞自动机四房间走廊疏散模型设计与实现

MATLAB元胞自动机四房间走廊疏散模型设计与实现

接手这个模型纯属偶然。当时帮某公司评估一个四间办公室共享一条走廊的疏散方案,手头没有商业仿真软件,甲方给的期限又紧。我第一反应是:这东西用MATLAB就能做,而且元胞自动机(CA)的思路刚好契合——空间离…

2026/10/16 8:00:16 阅读更多 →
Hadoop+Spark黄金价格分析系统:毕设级金融数据工程实践

Hadoop+Spark黄金价格分析系统:毕设级金融数据工程实践

1. 项目概述:为什么黄金价格分析值得用HadoopSpark重做一遍?“基于HadoopSpark的黄金价格历史数据分析与可视化系统”——这个标题里藏着三个关键信号:数据量级真实、技术栈选型合理、业务闭环完整。它不是那种“用TensorFlow预测明天金价涨跌…

2026/10/16 8:00:16 阅读更多 →
FFmpeg AVPacket 全解析:从生命周期到踩坑实战

FFmpeg AVPacket 全解析:从生命周期到踩坑实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 8:00:16 阅读更多 →
Claude Code免费攻略:官方额度与本地模型路线全解析

Claude Code免费攻略:官方额度与本地模型路线全解析

最近在几个开发者社群里反复看到同一个问题:Claude Code 这么火,但用起来到底要不要钱?"free-claude-code" 被当成一个口号在传,好像真存在一个零成本的完美入口。我把两条主流路线都实测了一遍——官方免费额度&#x…

2026/10/16 8:00:16 阅读更多 →
毕业论文AI工具组合实测:从选题到答辩的完整闭环方案

毕业论文AI工具组合实测:从选题到答辩的完整闭环方案

每年三月初,我后台收到最多的私信永远是同一句话:毕业论文写不完怎么办。今年情况有了新变化,大家问的不再是“要不要用AI”,而是“AI工具这么多,到底怎么组合才不会翻车”。这个转变很有意思,说明毕业论文…

2026/10/16 7:59:16 阅读更多 →

日新闻

个人 AI Agent 平台接入 TaoToken:统一 Key 与 API 通道的配置大纲

个人 AI Agent 平台接入 TaoToken:统一 Key 与 API 通道的配置大纲

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 0:00:05 阅读更多 →
信号与系统频域分析作业解题指南

信号与系统频域分析作业解题指南

1. 作业背景与核心要求解析信号与系统作为电子信息类专业的核心基础课,其作业设计往往直接关联课程的核心知识框架。2026年春季第六次作业的布置,通常对应着课程进展到频域分析的关键阶段。根据常规教学进度推测,本次作业可能涉及以下核心内容…

2026/10/16 0:00:05 阅读更多 →
Django MVT实战:从零构建图书借阅系统,彻底搞懂Model-View-Template分层

Django MVT实战:从零构建图书借阅系统,彻底搞懂Model-View-Template分层

1. 从一个"四不像"的练手项目说起如果你已经看完了Django的官方教程前几章,跟着敲完了投票应用,大概会有一种"我好像会了,又好像什么都不会"的割裂感。教程里每个知识点都是拆开的——这一章讲模型,下一章讲视…

2026/10/16 0:00:05 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/15 16:18:54 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/15 19:41:51 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/15 13:48:15 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 0:14:36 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 9:49:14 阅读更多 →