“error LNK2019: 无法解析的外部符号”原因之一

1.问题背景:

(1)此类为静态库中定义的类,因此要添加头文件目录和文件引用的Lib库路径;

(2)使用了第三方库,也要添加头文件和文件引用的Lib库路径。

如果头文件路径或者文件引用LIb静态库路径出错就会出现“error LNK2019”错误。

2.解决方法:

1.确保头文件正确的添加到了我们的工程中。两种方法:

(1)在项目工程中用#include"绝对路径或相对路径/头文件名"添加静态库的头文件

(2)使用如下方式:

然后在工程中用#include"头文件名"

2.添加lib库路径,两种方式:

(1)用#pragma comment (lib,"lib所在目录的绝对路径或相对路径/lib名称.lib");

(2)用如下方式:

3.总结

出现error LNK2019的原因很多,上面只是其中一种原因,一种解决方式。

LNK2019Visual Studio编译器的一个错误代码,通常与链接错误相关。当编译器无法找到或解析某个符号(函数、变量等)的定义时,就会出现LNK2019错误。在Qt中,常见的LNK2019错误通常是由以下几种情况引起的: 1. 函数或方法未定义:如果在代码中调用了一个函数或方法,但没有提供其定义,编译器就无法找到该函数或方法的实现。这可能是因为函数或方法的实现被遗漏或者没有正确包含相关的头文件。 2. 链接库未添加:如果使用了某个外部库,但没有将其正确添加到项目中,编译器就无法找到该库中定义的符号。在Qt中,可以通过.pro文件或者.pro.user文件来添加链接库。 3. 函数或方法签名不匹配:如果函数或方法的声明与其实现的签名不匹配,编译器就无法正确解析符号。这可能是因为函数或方法的参数类型、返回类型或者const修饰符等不一致。 4. 名字空间冲突:如果在代码中使用了同名的函数、类或变量,并且它们位于不同的命名空间中,编译器可能无法确定要使用哪个符号。这时可以使用命名空间限定符来明确指定要使用的符号解决LNK2019错误的方法包括: - 确保所有函数和方法的定义都被正确包含或实现。 - 检查是否正确添加了需要链接的库文件。 - 检查函数或方法的声明和实现是否一致。 - 确保没有命名空间冲突。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值