Visual Studio 2015: v120 vs v140?

FYI: Win10, x64

I started testing Visual Studio 2015 today, and after figuring out how to run the C / C ++ parts, I tried to load a large personal project that uses unofficial glsdk . I tried to build and got linker errors. He complained about unresolved external characters referenced in freeglutD.lib, glloadD.lib, and glutil.lib. He also complained about _MSC_VER mismatch in my own files.

I did some research on the Internet, got confused with 2013 and the compiler versions (project properties → General → Toolkit for the platform)) - v120 for 2013 and v140 for 2015 - and was able to rebuild glsdk with v140 (excluding glmesh due to missing file ) Then ... it worked fine.

Question: Why is this? I thought the static lib file created by the standard compiler would work with other versions of the standard compatible compiler (in this case, C / C ++ on v120 and C / C ++ on v140). But apparently, v140 would not play the ball with libraries made by the previous compiler.

If these are just the dark lands of VS assemblies, then I can refuse the question, but I would also like to know why they do not work together.

+4
source share
1 answer

, Visual ++ . , ABI .

, Visual ++ 2015, , , , .

. , " ".

0

Source: https://habr.com/ru/post/1615475/


All Articles