VC++常见错误原因解析之error LNK2019: 无法解析的外部符号 “public: void __thiscall[通俗易懂]

VC++常见错误原因解析之error LNK2019: 无法解析的外部符号 “public: void __thiscall[通俗易懂]VC++常见错误原因解析之errorLNK2019:无法解析的外部符号"public:void__thiscall出现这个错误,应该首先查看“#include”语句是否包含,或者是否包含正确。符号无法解析意味着编译器知道有这个符号存在,也就是有声明,但在链接时,找不到实现代码,那么就去看看报错的这个函数有没有实现代码。如果它们的确已经有了,还是出现这个错误,就把它们重新编译一下。…

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

Jetbrains全系列IDE稳定放心使用

VC++常见错误原因解析之error LNK2019: 无法解析的外部符号 “public: void __thiscall

出现这个错误,应该首先查看“#include”语句是否包含,或者是否包含正确。符号无法解析意味着编译器知道有这个符号存在,也就是有声明,但在链接时,找不到实现代码,那么就去看看报错的这个函数有没有实现代码。如果它们的确已经有了,还是出现这个错误,就把它们重新编译一下。

根据个人遇到这个错误时的记录,原因可以分为一下几种:

原因一:只是在.h里面声明了某个方法,没有在cpp里面实现。

具体讲,有时候在头文件中声明了需要的方法,确实忘记了在源文件中实现;

有时候在头文件中声明了需要的方法,在源文件中实现了该方法,但是却遗留了方法名前的“classname::”;

有时候在头文件中声明并实现了需要的方法,但是在代码调整时直接把方法copy到源文件时,并没有在函数前加“classname::”;

原因二:声明和实现都有了,但是没有添加到vsproject目录下面,这时候如果在其他.cpp中引用的,就会出现这个错误。

具体讲,导入自己以前的代码或其他现有代码时,复制到工程下目标文件夹后,有时候会在vsproject目录下忘记或遗漏添加这些文件,就可能引起这个错误。

原因三:有时候工程比较大时,会直接加入一些原有的基础工程来提交效率,如果对原有工程不太熟悉,在工程中加入了有相同名字的文件或者类时,同样会引起这个问题。

这种情况下的具体原因是编译时会出现相同名字的中间文件,因为编译有先后顺序,出现了文件替换,在其他文件引用被替换掉的文件时,导致最后会出现了个连接问题。

原因四:内联函数相关,如果内联函数的声明在头文件中,实现在源文件中,这时候如果其他类中只是包含了头文件,在调用这个内联函数时也会出现这个问题。此时把函数实现放到头文件中,或者把.cppinclude进来,就可以解决问题。

原因五:如果这个类是动态库中定义的类,可能是因为没有把这个动态库对应的.lib文件加到工程中。

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

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

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


相关推荐

  • 最长递增子序列的三种算法

    最长递增子序列的三种算法转载自:http://qiemengdao.iteye.com/blog/1660229最长递增子序列 问题给定一个长度为N的数组,找出一个最长的单调自增子序列(不一定连续,但是顺序不能乱)。例如:给定一个长度为6的数组A{5,6,7,1,2,8},则其最长的单调递增子序列为{5,6,7,8},长度为4.解法1:最长公共子序列法这个问题

    2022年4月29日
    54
  • ip addr命令详解_ip命令详解

    ip addr命令详解_ip命令详解ipaddr命令的作用是在Linux系统上查询ip地址。命令效果如下:解析:lo(loopback)环回接口,常被分配到127.0.0.1,用于本机通信,经过内核处理后直接返回,不会在任何网络中出现。net_deviceflags:LOOPBACK,UP,表示网卡处于启动的状态LOWER_UP物理连接正常,就是网卡已经上电(物理指的是物理层)BROADCAST表示这个网卡有广播地址,可以发送广播包MULTICAST表示网卡可以发送多播包MTU1500是指什么意思呢?是哪一层的

    2022年7月27日
    5
  • 标准正态分布的分布函数服从均匀分布_python 正态分布

    标准正态分布的分布函数服从均匀分布_python 正态分布三种由(0,1)均匀分布构造标准正态分布随机变量的方法:Box–Muller算法,中心极限定理和KindermanandMonahanmethod。

    2025年7月21日
    4
  • mac下docker从容器内部访问宿主机ip[通俗易懂]

    mac下docker从容器内部访问宿主机ip[通俗易懂]有两种情况:1、有网络的情况下:通过ifconfig中找到自己的电脑ip然后直接访问即可2、没有网络的情况下:通过ifconfig是找不到ip的,然后需要找到一个宿主机的ip可以通过域名来访问:docker.for.mac.host.internal可以ping或者用telnetipport来测试一下…

    2022年8月21日
    9
  • 国内可用的stun服务

    国内可用的stun服务stun:stun.ideasip.comstun:stun.schlund.destun:stun.voiparound.comstun:stun.voipbuster.comstun:stun.v

    2022年7月1日
    32
  • 微服务中的日志管理 — ELK

    微服务中的日志管理 — ELK通过使用微服务,我们能够解决许多在单体应用中暴露的问题,并且它允许我们创建稳定的分布式应用程序,并对代码,团队规模,维护,发布周期,云计算等进行所需要的控制。但同时微服务也引入了一些挑战,例如分布式日志管理和查看。需要提供在众多服务中查看分布的完整事务日志和分布式调试的能力。实际上,挑战在于微服务是相互隔离的,它们不共享公共数据库和日志文件。随着微服务数量的增加以及我们使用自动化持续集成工具实现…

    2022年6月6日
    31

发表回复

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

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