Проект компилируется с помощью MDd даже при установке на MTd

Я пытаюсь скомпилировать исполняемый файл, который зависит от некоторых других статических проектов. Некоторые проекты зависят от библиотек OpenCV, которые скомпилированы с параметром библиотеки времени выполнения MTd. Что я сделал, так это установил для библиотеки времени выполнения всех моих проектов значение MTd (в опции библиотеки времени выполнения в свойствах проекта Visual Studio). Когда я компилирую только статические проекты, все идет хорошо, но когда я компилирую exe-файл, я получаю такую ​​​​ошибку:

Transform_Static.lib (Transform.obj : error LNK2038: mismatch detected for 'Runtime Library' value 'MDd_DynamicDebug' dosen't match value 'MTd_StaticDebug' in Math_UT.obj

Я пытался добавить/удалить библиотеки из зависимостей компоновщика исполняемого проекта, но ничего не изменилось, что еще я могу сделать? Благодарю.


person Nadavp    schedule 28.07.2020    source источник
comment
Вы уверены, что изменяете активную конфигурацию сборки? В Visual Studio очень легко изменить неправильную конфигурацию.   -  person Alan Birtles    schedule 28.07.2020
comment
@brc-dd Это та же проблема, но после того, как я попробовал все предложенные там варианты, я все еще в той же ситуации.   -  person Nadavp    schedule 28.07.2020
comment
@AlanBirtles Да, я дважды проверил это.   -  person Nadavp    schedule 28.07.2020


Ответы (1)


Во-первых, вы можете проверить, является ли Runtime Library MTd.

Затем вы можете очистить проект и перестроить проект.

Кроме того, вы можете обратиться к документам Microsoft по поводу LNK2038 и похожий вопрос.

person Barrnet Chou    schedule 28.07.2020