1
votes

I am attempting to compile a project after migrating it from VS2010 to VS2012 and I receive the following build errors:

  1. msvcprt.lib(newaop_s.obj) : error LNK2038: mismatch detected for '_MSC_VER': value '1700' doesn't match value '1600' in jwh_arx_circle.obj

  2. rxapi.lib(libinit.obj) : error LNK2038: mismatch detected for '_MSC_VER': value '1700' doesn't match value '1600' in jwh_arx_circle.obj

The jwh_... files are my objects and I have the toolset set to v110 in VS2012 and my objects are still showing up with MSC_VER 1600 instead of 1700 . If I switch to VS2013 and use the v120 tookit, the MSC_VER of the microsoft object changes to 1800 but my objects are all still 1600.

I have cleaned and rebuilt and ensured that the files are being deleted and recreated.

I have VS 2008, 2012, 2013, and 2015 installed on my machine. I installed 2008 then 2013, 2015 and finally 2012. I'm concerned this might have something to do with it, my boss instructs us all to install VS in order but I just had to install 2012 for a recent job, otherwise I wouldn't use it here.

1
If you are still getting that error, then you are not building that obj or you are not building that obj with the toolset you think you are.Chuck Walbourn

1 Answers

1
votes

I figured it out, I had manually included VS directories from older versions. Once I removed these the MSC_VER lined up.