VS error LNK2001无法解析的外部符号_CrtDbgReportW

本文提供的只是可能的一种解决方案,一种解决这个错误的思路,并不一定符合所有情况。

最近经常遇到这个错误,总是在解决后忘记怎么解决的,下次又花费很多时间去找原因。今天,做个笔记,嗯。

首先,列出原因:

VS error LNK2001无法解析的外部符号_CrtDbgReportW_第1张图片

其次,给出解决方法:

这是解决前问题根源:

VS error LNK2001无法解析的外部符号_CrtDbgReportW_第2张图片

这是解决后:

VS error LNK2001无法解析的外部符号_CrtDbgReportW_第3张图片

为什么会这样呢?

因为opencv版本的原因。我是opencv2.4.3的项目在2.4.13下运行,所以需要改成多线程调试(/MTd),而对于3.x的版本,这里就应该是多线程DLL(/MD)(这一点也是经过血泪教训的)。

VS error LNK2001无法解析的外部符号_CrtDbgReportW_第4张图片

至于是不是2.4.3对应着多线程(/MT)我就不是太清楚了,估计可能性很大。

突然发现,并不是说opencv版本对应着不同的多线程选项,可能是项目创建时所处的环境导致的这个错误。也存在2.4.13对应多线程(/MT)的,我后来建的一个项目就是这样

你可能感兴趣的:(C++)