2013-07-21 3 views
0

Gameplay Project распределяет набор статических библиотек всех его зависимостей. Библиотеки, которые они включают, будут связаны в отладочной или выпускной версии приложения. Я запустил команду strings в их lib и сравнил ее с тем, который я скомпилировал. Директива компоновщика /FAILIFMISMATCH:"RuntimeLibrary=MD_DynamicRelease" установлена ​​в моей библиотеке, но не в их.Как можно связать статическую версию lib с сборкой отладки?

Как они скомпилировали свою библиотеку таким образом?

Edit: Разъяснение

я не упомянул, что это происходит на соседней ветке, которая использует для LIBS скомпилированные VS2012. Библиотека _MSC_VER библиотек - 1700.

Я знаю, что вы не должны связывать разные версии ЭЛТ, но мне интересно, как они могли даже скомпилировать ее таким образом.

ответ

0

Кажется, MS приступила к добавлению /FAILIFMISMATCH:"RuntimeLibrary линии от vs2012. /FAILIFMISMATCH сам введен в vs2010. У меня есть chelced Gamel Project Project sln, и он использует vs2010. Попробуйте использовать vs2010 и посмотреть, не исчезла ли директива.

Я думаю, вы уже знаете это, но на самом деле не имеет значения, существует ли директива или нет, потому что вы все равно должны соответствовать параметру компиляции библиотеки времени выполнения.

Смежные вопросы