суббота, 14 декабря 2013 г.

О сборке C++ проектов в Visual Studio 2013 при наличии зависимостей от библиотек собранных в предыдущих версиях

Пару дней назад, ко мне обратился Brandousov с проблемой. При сборке проекта заточенного по Visual Studio 2010 в 2013 студии падает толпа ошибок вида:

Причем этих ошибок "error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1800'" падают сотни.
На С++ я не пишу, но т.к. ошибка похожа на несовместимость версий, то я решил поискать, что делать. Достаточно быстро нашел вот здесь как в VS 2013 собирать под версию компилятора 2010 студии. И отправил это все Brandousov. Ему решение помогло и он любезно предоставил описание действий для решения этой проблемы на русском. Вдруг кому пригодится:
1. Скачал и поставил VS 2010 Express, потом следуя рекомендациям по ручной сборке Chromium накатил на него сервис пак 1, поставил вин СДК 7.1 (ставится легко и быстро, ссылка: http://www.chromium.org/developers/how-tos/build-instructions-windows, патчить ничего не надо, главное сначала поставить VS 2013, потом остальное).
2. Открыл проект для VS2010 в VS2013, на предложение автоматически обновить компилятор и либы ответил отказом.
Не забудьте посмотреть в свойствах проекта, что у вас стоит правильный Platform Target:

3. Rebuild.

 

Комментариев нет:

Отправить комментарий