libcpmt.lib(xthrow.obj) : error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1800' in nms_gpu_mex.o

18 views (last 30 days)
I am trying to run the project here https://github.com/ShaoqingRen/faster_rcnn and I am getting an error when I run the function faster_rcnn_build. Can someone tell me what that error means and how I can resolve it ?
This is the output
Compiling nms_mex
Building with 'Microsoft Windows SDK 7.1 (C++)'.
MEX completed successfully.
Compiling nms_gpu_mex
nvcc --compile -ccbin "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\x86_amd64" -o nms_gpu_mex.o --machine 64 -I"C:\Program Files\MATLAB\R2014b/extern/include " -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5\include" -I"\common\inc" "functions/nms/nms_gpu_mex.cu"
nms_gpu_mex.cu
mex -outdir bin nms_gpu_mex.o -L"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5\lib\x64" -lcudart
Building with 'Microsoft Windows SDK 7.1 (C)'.
Before all the error appears
Error using mex
libcpmt.lib(xthrow.obj) : error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1800' in nms_gpu_mex.o
LIBCMT.lib(new.obj) : error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1800' in nms_gpu_mex.o
LIBCMT.lib(typinfo.obj) : error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1800' in nms_gpu_mex.o
LIBCMT.lib(stdexcpt.obj) : error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1800' in nms_gpu_mex.o
LIBCMT.lib(frame.obj) : error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1800' in nms_gpu_mex.o
LIBCMT.lib(typname.obj) : error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1800' in nms_gpu_mex.o
Creating library C:\Users\Haziq\Downloads\faster_rcnn-master\faster_rcnn-master\bin\nms_gpu_mex.lib and object
C:\Users\Haziq\Downloads\faster_rcnn-master\faster_rcnn-master\bin\nms_gpu_mex.exp
nms_gpu_mex.o : error LNK2019: unresolved external symbol fminf referenced in function "float __cdecl fmin(float,float)"
(?fmin@@YAMMM@Z)

Answers (1)

James Tursa
James Tursa on 26 Oct 2016
Edited: James Tursa on 26 Oct 2016
_MSC_VER is a value corresponding to the version of the Microsoft compiler that is being used. The 1600 is for Visual Studio 2010, and the 1800 is for Visual Studio 2013. So you are trying to link code that was compiled with the 2010 compiler with code that was compiled with the 2013 compiler. This version mismatch is causing the error. You might look at this link for a related discussion of potential fixes: http://stackoverflow.com/questions/19575747/error-lnk2038-mismatch-detected-for-msc-ver-value-1600-doesnt-match-valu

Categories

Find more on C Shared Library Integration in Help Center and File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!