Qt探索之路——Error LNK2019

在编译工程的时候经常会碰到 " LNK2019:无法解析的外部符号... " 的报错。一般来说,碰到这个错误有一下几种情况:

1、头文件中声明了函数或者类型,但是没有相关的实现源文件

解决:在编译结果中找到并定位该函数,删去多余的定义并对未实现的定义进行实现;注意删去Debug和Release文件夹,并重新构建。

2、调用了第三方库,但是未链接成功

解决:重新添加库的.lib和.dll及相关.h文件,删除Debug和Release文件夹并重新构建。

================================================================================

PS:

我在调用HIDAPI的项目中,卸载重装VS后遇到LNK2019 error,但是以上方法都不起作用。最后解决问题颇费波折:

①首先删去Debug和Release文件夹,并重新构建,无效;

②重新载入.lib和.dll及.h,重新构建,无效;

③重新编译第三方库,注意平台对应(Qt 用msvc2015_x86,则VS2015编译平台选择Win32;Qt 用msvc2015_x64,则VS2015编译平台选择x64),无效;

④重装Qt、Visual Studio,无效;

⑤删除Qt缓存,包括:

  C:\Users\jiche\AppData\Local\QtProject

  C:\Users\jiche\AppData\Roaming\QtProject

最终解决问题。分析原因可能是之前工程链接库文件出错,但是配置已经记录到工程配置文件和Qt缓存中,即使重装Qt,缓存文件还在。因此只有清楚了Qt的缓存才能奏效。

Qt重新构建的文件残留问题无力吐槽~只能说习惯就好~

时间: 2024-07-31 03:35:34

Qt探索之路——Error LNK2019的相关文章

QT error LNK2019: 无法解析的外部符号

一个见到那的错误,困扰了好几天了,今天才解决,记录下. 使用QT Creator建立项目,添加一个QT设计界面widget,命名为TestWidget.有ui,头文件(.h),源码文件(.cpp).在使用TestWidget编译时,被编译器标为“无法解析的外部符号”. error LNK2019 无法解析的外部符号 解决方法:将当前qt工程所在的父目录下的 build-(工程名)-XXXXXX-Debug 文件夹删除,再构建项目即可运行..

VS常见错误之一:error LNK2019: 无法解析的外部符号

由于经常使用VS的开发环境,所以经常遇到一些错误提示,其中error LNK2019是很常见的一个报错.今天将此错误的原因和常见解决办法根据自己的经验小小总结一下. 问题样式: 1>SingleView.obj : error LNK2019: 无法解析的外部符号 [email protected],该符号在函数 "protected: int __thiscall CSingleView::CreateViewGLContext(struct HDC__ *)" (?    

错误 1 error LNK2019: 无法解析的外部符号 __imp__pthread_create,该符号在函数 _main 中被引用 解决方法

晚上花几分钟在windows下测了下pthread的用法,出现错误 1 error LNK2019: 无法解析的外部符号 __imp__pthread_create,该符号在函数 _main 中被引用 经网上搜,反正都没解决,其中一个说引入#pragma comment(lib, "pthreadVC2.lib")后解决,但笔者遇到的不是这个原因,而是版本问题.可参考http://www.cnblogs.com/zhjh256/p/6364777.html解决.

“error LNK2019: 无法解析的外部符号”之分析

最近在用VS 2008开发,初学遇到不少问题,最头疼的问题之一就是:LNK2019. 百度一下讲的并不够全面,反正都没解决我的问题. error LNK2019问题在VC 6.0中是error LNK2001: unresolved external symbol问题,可能错误号改了. 编译时出现类似这样的错误:Dlgcode.obj : error LNK2019: 无法解析的外部符号 _readRegmark,该符号在函数 [email protected] 中被引用.这种错误的本质是链接器

error LNK2019: 无法解析的外部符号 [email protected],该符号在函数 ___tmainCR...(转)

一,问题描述 MSVCRTD.lib(crtexew.obj) : error LNK2019: 无法解析的外部符号 [email protected],该符号在函数 ___tmainCRTStartup 中被引用  Debug\jk.exe : fatal error LNK1120: 1 个无法解析的外部命令 error LNK2001: unresolved external symbol [email protected] debug/main.exe:fatal error LNK 1

VS2013解决error LNK2019: 无法解析的外部符号 mfcs120ud.lib

最近因为要改一个MFC项目重写学习MFC,没想到只是用VS2013新建一个最简单的MFC项目运行就报类上百个的类似"Error LNK2019: 无法解析的外部符号...mfcs120ud.lib"的错误. 经过一番折腾,终于发现问题所在.打开C:\Users\Administrator\AppData\Local\Microsoft\MSBuild\v4.0\Microsoft.Cpp.Win32.user.props 发现默认库引用了$(WindowsSDK_LibraryPath

error LNK2019: 无法解析的外部符号

最近在尝试用UDT进行通信,写了两个简单的客户端和服务端,但是编译的时候出现了“error LNK2019: 无法解析的外部符号”错误,为了以后进行总结,还是把解决方法记录下来. 1>------ 已启动生成: 项目: udt_appserver, 配置: Debug Win32 ------1>生成启动时间为 2013/11/11 20:53:08.1>InitializeBuildStatus:1>  正在创建“Debug\udt_appserver.unsuccessfulb

windows 网络编程报错 error LNK2019

我当时很困惑, 因为根本就是照抄书上的代码, 而且代码也异常的简单, 头文件也都引入了, 可是仍然显示: 1>源.obj : error LNK2019: 无法解析的外部符号 [email protected],该符号在函数 _main 中被引用1>源.obj : error LNK2019: 无法解析的外部符号 [email protected],该符号在函数 _main 中被引用1>源.obj : error LNK2019: 无法解析的外部符号 [email protected],

C++ Error: error LNK2019: unresolved external symbol

在currennt工程中新添加了一个文件x.cu与x.hpp,最后编译整个工程的时候就出现了这个问题: error LNK2019: unresolved external symbol 这是链接错误,表示没有找到编译好的二进制库文件~ 这很诡异,因为我并没有引用什么第三方的lib(这很容易出现上述问题),编译器提示出现问题的代码是我自己写的啊! 又感觉脊背发凉……… 最后不断排查,几乎把所有可能出错的代码都注释了,最后查到问题了,原来是template没有实例化= = 并非没有找到编译好的二进