Q Использование выпуска lib в отладочной сборке - PullRequest
0 голосов
/ 07 мая 2019

Мы получаем готовую скомпилированную библиотеку от партнера только в виде релизной версии.Как и ожидалось, он отлично работает для нашей сборки релиза, но он также работал нормально при использовании его в сборке отладки (для наших внутренних тестов или сеансов отладки)

Теперь произошли некоторые изменения, а последняя версия libs этого не делаетбольше работать в отладочной сборке я получаю сообщение об ошибке

mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MDd_DynamicDebug' in main.obj

Я понимаю, почему это происходит сейчас, но я не понимаю, почему это не происходило в старой версии.Более старая версия также имела неправильный набор RuntimeLibrary, но каким-то образом это не повлияло на компоновщик ...?(Я использовал DUMPBIN для поиска флагов)

1 Ответ

0 голосов
/ 08 мая 2019

Мы думаем, что нашли проблему: только один объект в библиотеке использует функциональность C ++ / STL Это не использовалось (нами) в более ранней версии библиотеки. Но они изменили некоторые другие функции, и теперь они используют эти функции -> компоновщик теперь добавляет код C ++ и справедливо жалуется на это.

Дальнейшее нахождение: Вы можете смешивать код отладки / выпуска, если вы ничего не используете из библиотеки времени выполнения.

...