У меня большое тело кода, скомпилированного с / MT (т.е. ожидание статически связаться против CRT). Я должен объединить это со статической сторонней библиотекой, которая была создана с / MD (т.е. ожидание связать CRT динамично).
Теоретически возможно связать два в один исполняемый файл, не перекомпилировав также?
Если я связываюсь с/nodefaultlib:msvcrt, я заканчиваю с небольшим количеством неопределенных ссылок на вещи как __imp__wgetenv
. Я испытываю желание попытаться реализовать те функции в своем собственном коде, передавая wgetenv
, и т.д. это стоит попробовать, или я буду работать прямо в следующую проблему?
К сожалению, мне Запрещают выбирание легкого варианта упаковки стороннего кода в отдельный DLL :-/
Нет. / MT и / MD являются взаимоисключающими.
Все модули, переданные данному вызову компоновщика, должны быть скомпилированы с одной и той же опцией компилятора библиотеки времени выполнения ( / MD , / MT , / LD ).