memcmp linker error Visual Studio 2015

Deadly 提交于 2020-01-11 10:45:48

问题


I have a visual studio 2012 c++ project. I recently uninstalled it and installed visual studio 2015 and upgraded the project. When i am building the project, getting error as shown below:

Error LNK2019 unresolved external symbol _memcmp referenced in function

Moreover i have not used anywhere in my code memcmp fucntion.

I used the linker verbose function and could see below in output file:

Found _memcmp

Referenced in MyC++Project.obj

Referenced in libcpmtd.lib(xstrcoll.obj)

Loaded libvcruntimed.lib(__memcmp_.obj)

Two questions here

1.even though i have not used memcmp in my code why i am getting that linker error?

2.why is memcmp being loaded as __memcmp_.obj

I have the following settings also in my project:

1.C++-->Code generation-->Runtime Library is set to /MTd

2.Linker-->Ignore All default libraries is set to nothing

I have tried all the project settings but everything in vain.

I have issue only with this memcmp function which i have not used.

I have used mamcpy and memset and do not have issue with those


回答1:


Explicitly add vcruntime.lib or other appropriate version of CRT Library to linker parameters (additional dependencies).

When you use memcmp explicitly it is probably handled as intrinsic function and is compiled as inline function.




回答2:


Try to add vcruntime.lib and ucrt.lib to your additional dependencies. ===> properties->Linker->Input->Additional Dependencies

Sample path of 'vcruntime.lib': "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib\vcruntime.lib"

Sample path of 'ucrt.lib' : "C:\Program Files (x86)\Windows Kits\10\Lib\10.0.16299.0\ucrt\x86\ucrt.lib"

My environment: VS2017 (v141)



来源:https://stackoverflow.com/questions/34285476/memcmp-linker-error-visual-studio-2015

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!