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

错误描述
1>11_ObjectDetection.obj : error LNK2019: 无法解析的外部符号 “public: __cdecl cv::VideoCapture::VideoCapture(void)” (??0VideoCapture@cv@@QEAA@XZ),该符号在函数 main 中被引用
1>11_ObjectDetection.obj : error LNK2019: 无法解析的外部符号 “public: virtual __cdecl cv::VideoCapture::~VideoCapture(void)” (??1VideoCapture@cv@@UEAA@XZ),该符号在函数 main 中被引用
1>11_ObjectDetection.obj : error LNK2019: 无法解析的外部符号 “public: virtual bool __cdecl cv::VideoCapture::open(int)” (?open@VideoCapture@cv@@UEAA_NH@Z),该符号在函数 main 中被引用
1>11_ObjectDetection.obj : error LNK2019: 无法解析的外部符号 "public: virtual bool __cdecl cv::VideoCapture::isOpened(void)const " (?isOpened@VideoCapture@cv@@UEBA_NXZ),该符号在函数 main 中被引用
1>11_ObjectDetection.obj : error LNK2019: 无法解析的外部符号 “int __cdecl cv::waitKey(int)” (?waitKey@cv@@YAHH@Z),该符号在函数 main 中被引用
1>F:\DeskTop\x64\Debug\人脸识别.exe : fatal error LNK1120: 5 个无法解析的外部命令

问题分析
error LNK2019: 无法解析的外部符号
一般是源代码里用了第三方库,但工程没有添加相应的库目录

解决方法
依次选择:项目–>属性
这里写图片描述
然后,VC++目录–>库目录–>编辑
这里写图片描述
点击空白处,然后点击“…”,添加相应的路径即可
这里写图片描述
还没有完,然后点击链接器–>输入–>附加依赖项–>编辑,添加用到的库文件的名称
这里写图片描述
补充
对于怎么知道自己缺少什么头文件和库文件这个问题,不熟悉项目的新手很是头疼。有一些经验,虽然很笨,供大家参考吧。

  1. 双击错误信息,找到出错的地方,把出错的位置复制到百度搜索一下,寻找他的头文件和库,出错的地方可能是宏定义、函数或变量, 不要大段复制,只复制名称。
  2. 有时可能双击不会跳转到出错的地方,就直接在代码里寻找标红的地方,可能有好几个文件,都要找,然后再根据标红的部分搜索.h和.lib。
  3. 一般.h和.lib是成对的,有lib一般都会有相应的h,但.h头文件可以单独存在。

小结
用第三方库时,一般还会遇到 “无法打开包括文件: “opencv2/objdetect/objdetect.hpp”: No such file or directory "的错误
fatal error C1083: 无法打开包括文件: “opencv2/objdetect/objdetect.hpp”: No such file or directory

  • 24
    点赞
  • 106
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论
引用中提到了error LNK2019: 无法解析外部符号 cudaFree,该符号在函数 main 中被引用。 这个错误通常出现在使用CUDA编程时,链接器无法找到cudaFree函数所在的库文件。这个错误可能是由于以下几种原因导致的: 1. 缺少CUDA库文件:确保已正确安装CUDA并设置了相关的环境变量。如果缺少库文件,可以尝试重新安装CUDA或将CUDA的库文件路径添加到项目的链接器设置中。 2. 编译选项不正确:在编译时,需要使用正确的编译选项来链接CUDA库文件。请确保在编译时正确地指定了CUDA的库文件路径和相关的依赖库。 3. 版本不兼容:如果项目使用的CUDA版本与安装的CUDA版本不兼容,也可能会导致链接器找不到函数的错误。请确保项目和CUDA版本匹配,并尝试使用与项目兼容的CUDA版本。 4. 函数命名错误:检查代码中使用的函数名是否正确拼写,并确保函数名与CUDA库中的函数名完全匹配。 解决这个错误的方法包括: 1. 确认CUDA是否正确安装并设置了相关的环境变量。 2. 检查项目的链接器设置,并确保已正确指定CUDA的库文件路径和相关的依赖库。 3. 确保项目使用的CUDA版本与安装的CUDA版本兼容。 4. 检查代码中使用的函数名是否正确拼写,并与CUDA库中的函数名完全匹配。 如果以上方法都没有解决问题,可能需要进一步检查项目的配置和代码,以确定其他可能的原因。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [无法解析外部符号 _cublascreate_v2@4,等一系列的类似问题(用于x64位。)以及vs2013+cuda8.0+win10配置...](https://blog.csdn.net/xianhua7877/article/details/80792027)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

万俟淋曦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值