调试错误解决方案之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/7/28 17:50:01阅读更多 →
这款神级软件即将停止下载(附安装包)

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

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

2026/7/28 17:50:01阅读更多 →
复习卷积运算

复习卷积运算

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

2026/7/28 17:50:01阅读更多 →
Zookeeper单机部署单服务过程(非docker方式)

Zookeeper单机部署单服务过程(非docker方式)

zk这东西太优秀了,分布式锁、分布通知/协调(配置管理)、分布式队列、集群管理、数据发布与订阅等场景,最佳中间件,虽然zk有很多强大的特性,但一般公司的项目不会用得太多,集群管理、分布式锁应该…

2026/7/28 19:02:14阅读更多 →
AI 平台建设的20个决策时刻:选错了就要花几个月还债

AI 平台建设的20个决策时刻:选错了就要花几个月还债

AI 平台建设的20个决策时刻:选错了就要花几个月还债 基础设施不需要漂亮话。 AI 平台建设不是技术选型的堆砌,而是一系列决策的组合。每个决策看起来都是局部选择——用什么推理框架、用什么调度器、用什么存储方案——但这些局部决策的组合决定了平台的…

2026/7/28 19:02:14阅读更多 →
模型服务十大坑:从 OOM 到推理结果漂移

模型服务十大坑:从 OOM 到推理结果漂移

模型服务十大坑:从 OOM 到推理结果漂移 基础设施不需要漂亮话。 模型服务上线那天,团队觉得终于可以松口气了。实际上,上线才是问题的开始。过去半年我们在模型服务运维上踩了至少十个坑,每一个都让值班工程师在凌晨被叫醒。这篇文…

2026/7/28 19:02:14阅读更多 →
2026 AI 工作流避坑大全:10 个让你深夜回滚的 Prompt 工程设计错误

2026 AI 工作流避坑大全:10 个让你深夜回滚的 Prompt 工程设计错误

2026 AI 工作流避坑大全:10 个让你深夜回滚的 Prompt 工程设计错误 一、Prompt 工程的"伪确定性":为什么看起来正确的设计会在凌晨崩溃 Prompt 工程最危险的特征是它的"伪确定性"——同一个 Prompt 在白天测试完美运行&#xff0c…

2026/7/28 19:02:14阅读更多 →
制造业工厂 MES 选型指南,中小企业可以直接参考

制造业工厂 MES 选型指南,中小企业可以直接参考

随着制造业数字化持续推进,越来越多中小工厂意识到 MES 制造执行系统的价值。但市面上 MES 产品参差不齐,大型重型 MES 投入高、实施周期漫长,轻量工具又存在功能短板。不少中小企业投入资金后,出现系统和车间流程不匹配、工人不愿…

2026/7/28 19:02:14阅读更多 →
摆脱环境配置难题!OpenClaw 小龙虾 Windows 系统搭建全流程(含安装包)

摆脱环境配置难题!OpenClaw 小龙虾 Windows 系统搭建全流程(含安装包)

📘OpenClaw v2.7.9 Windows 一键部署指南|本地 AI 智能体零基础搭建教程 前言✨ 当下各类 AI 工具层出不穷,但多数产品仅支持文字对话,很难直接操控电脑完成各类重复工作。OpenClaw,爱好者俗称小龙虾,作为…

2026/7/28 19:00:13阅读更多 →
覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

🔹 工具基础介绍 OpenClaw 是开源生态中一款实用性较强的本地智能工具,凭借本地离线运行、可视化图形操作和任务自动化三大核心特性,赢得了众多用户的青睐。与普通在线对话AI工具不同,它属于能够直接操控本机软硬件的智能数字员工…

2026/7/28 4:06:39阅读更多 →
伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

所谓液压伺服阀体的精密激光焊接,是用激光束对阀座壳体(通常为不锈钢或铝合金)进行密封焊接,使阀体在21-35MPa的高压液压油或压缩气体中长期运行而不发生介质泄漏。液压伺服阀是高端液压系统的"大脑"。从航空航天飞行控…

2026/7/28 2:08:06阅读更多 →
D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx 你是否还在…

2026/7/28 1:38:28阅读更多 →
告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿!3步让你的暗影精灵笔记本重获新生 【免费下载链接】OmenSuperHub Control Omen laptop performance, fan speeds, and keyboard lighting, and unlock power limits. 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub 你是否也曾为官方Om…

2026/7/28 0:00:29阅读更多 →
RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

做 RAG 的人应该都踩过这个致命的坑:把几百页的财报、法规、技术手册扔给向量库,问一个具体问题,搜出来的全是沾边但没用的内容 —— 关键信息要么被硬切块拆碎了,要么藏在几十条结果的最下面。语义相似≠真正相关,这个…

2026/7/28 0:00:29阅读更多 →
抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

2026年做短视频运营,从抖音上扒文案早就不是偷偷抄笔记的事了。我刚开始做内容的时候,每天刷半小时抖音,手动把爆款视频的口播敲进备忘录,一条2分钟的视频得花十来分钟,碰到语速快的还要反复回听。后来试了一圈工具&am…

2026/7/28 0:00:29阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/27 16:57:54阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/28 3:17:03阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/28 2:35:58阅读更多 →