我有一个Visual Studio 2012的C++项目,最近卸载了它并安装了Visual Studio 2015并升级了该项目。但是当我构建项目时,出现了以下错误:
错误:LNK2019未解决的外部符号_memcmp在函数中被引用。
此外,在我的代码中根本没有使用memcmp函数。
我使用了链接器verbose函数,并在输出文件中看到以下内容:
找到 _memcmp
在MyC++Project.obj中被引用。
在libcpmtd.lib(xstrcoll.obj)中被引用。
已加载 libvcruntimed.lib(__memcmp_.obj)
这里有两个问题:
1.即使我在代码中没有使用memcmp,为什么还会出现链接器错误?
2.为什么要将memcmp作为__ memcmp_.obj加载?
此外,我的项目中还有以下设置:
1.C++ --> Code generation --> Runtime Library设置为/MTd
2.Linker --> Ignore All default libraries设置为无任何选项。
我已尝试所有项目设置,但一切都徒劳无功。
我只对这个未使用过的memcmp函数存在问题,我已经使用了mamcpy和memset并且没有出现问题。