c语言错误lnk1120_2019咬文嚼字十大错误

c语言错误lnk1120_2019咬文嚼字十大错误错误提示LNK2019错误,其实早找我之前就遇到过:C++BookNote-LNK2019严重性 代码 说明 项目 文件 行 禁止显示状态错误 LNK2019 无法解析的外部符号“public:__thiscallmy_util::ReferCounter::ReferCounter(void)”(??0?KaTeXparseerror:Expectedgroupafter’_’atposition71:…c:staticvoid_̲_cdeclmy

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

错误提示

LNK 2019 错误,其实早找我之前就遇到过:C++ Book Note – LNK 2019

在这里插入图片描述

咋一看,懵了(不过后来经过自己细看了一下函数签名后,发现是有提示相关内容的,(void) 就是关键,但这后面紧随的又有一个 (??0?$ReferCounter@VMesh@my_util@@my_util@@QAE@XZ) 的函数签名让我看的眼花缭乱,导致错过了关键的诊断内容))

原因

LNK == Link,就是链接器相关的处理错误问题,链接器主要处理接口符号的地址。

如果有一个接口声明了(定义了符号)但是找不到接口的定义(分配的代码地址的),那就会报这个错误

如下图, ReferCounter 类中的 构造与析构 函数定声明了,但由于之前误删了这两个函数的定义,导致没有这两个函数的具体定义,而出现的错误提示
在这里插入图片描述

因为 错误栏的提示不醒目,所以后来放到代码块上查看就清晰很多了。

但是这个内容在 VS的错误栏上的提示很不醒目,可以是没有对应字符着色的问题,然而我放到 C++ 代码块上查看时就,清晰很多了,如下:

严重性	代码	说明	项目	文件	行	禁止显示状态
错误	LNK2019	无法解析的外部符号 "public: __thiscall my_util::ReferCounter<class my_util::Mesh>::ReferCounter<class my_util::Mesh>(void)" (??0?$ReferCounter@VMesh@my_util@@@my_util@@QAE@XZ),函数 "public: static void __cdecl my_util::ReferMgr<class my_util::Mesh>::setObj(char const *,class my_util::Mesh *)" (?setObj@?$ReferMgr@VMesh@my_util@@@my_util@@SAXPBDPAVMesh@2@@Z) 中引用了该符号	10_Wrapping_Obj_GO_ETC	D:\jave\Work Files\CPP\OpenGL_Studies\LearnGL\10_Wrapping_Obj_GO_ETC\Main.obj	1	

总结

以后再遇到 LNK 2019 的编译错误问题,如果看不清晰错误栏的提示,就复制出来,放到 VS或是VSC (有C++代码着色器的文本编辑器都可以)下,查看代码着色器的醒目提示的错误函数名,就可以看快速的定位问题了。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/185689.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 适配器模式详解

    适配器模式详解适配器模式,显而易见,灵感来源于笔记本电脑一类的适配器 模式动机 在软件开发中采用类似于电源适配器的设计和编码技巧被称为适配器模式。 通常情况下,客户端可以通过目标类的接口访问它所提供的服务。有时,现有的类可以满足客户类的功能需要,但是它所提供的接口不一定是客户类所期望的,这可能是因为现有类中方法名与目标类中定义的方法名不一致等原因所导致的。 在这…

    2022年7月25日
    9
  • 翻译:VESA Adaptive-Sync / AMD FreeSync / VRR 白皮书[通俗易懂]

    翻译:VESA Adaptive-Sync / AMD FreeSync / VRR 白皮书[通俗易懂]译者注以下为正文。介绍多年来,显示行业一直普遍认为显示器是以固定的刷新率(refreshrate)运行的,如60Hz。这与以下事实形成鲜明对比:送给显示器的图像内容多种多样,每种图像都有自己独特的、变化的帧率(framerate)。当显示的刷新率与图像内容自身的帧率不同步时,用户可能会察觉到撕裂(tearing)和卡顿(stutter)之类的异常效果。在移动应用程序中(如平板、笔记本电脑),对于静态图像和视频播放来说,较高的显示刷新率不仅显得多余,还增加了系统功耗,降低了续航能力。这些因素使得我

    2022年6月10日
    136
  • PHP多进程开发与Redis结合实践「建议收藏」

    PHP多进程开发与Redis结合实践

    2022年2月8日
    39
  • Apache负载均衡配置(反向代理模式)

    Apache负载均衡配置(反向代理模式)参考地址:https://blog.csdn.net/wgw335363240/article/details/8221444Apache负载均衡配置(反向代理模式)本文只适合EKP产品,至于应用

    2022年7月3日
    21
  • document.getElementById使用[通俗易懂]

    document.getElementById使用[通俗易懂]HTMLDOMgetElementById()方法HTMLDOMDocument对象参考手册定义和用法getElementById()方法可返回对拥有指定ID的第一个对象的引用。语法document.getElementById(id)说明HTMLDOM定义了多种查找元素的方法,除了getElementById()之外,还有get

    2022年7月15日
    36
  • Jmeter 之正则表达式提取器应用「建议收藏」

    Jmeter 之正则表达式提取器应用「建议收藏」目录前言一、获取单个数据二、获取多个数据个人觉得非常非常细节的地方注意一下:前言说到Jmeter正则表达式提取器的应用,就不得不说到关联。所谓关联,就是把应用中动态变化返回的数据获取到,把它保存为一个参数,提供给后面需要用到的地方进行使用。Jmeter中关联可以通过“添加—后置处理器—正则表达式提取器”来获取数据,且注意正则表达式提取器附在需要获取数据的某个采样器之下,数据一般从“查看结果树“的响应数据获取。Jmeter中关联可以通过“添加—后置处理器—正则表达式提.

    2025年10月21日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号