Я пытаюсь скомпилировать TRE под VS2008. Он запускается в Release build нормально, но в Debug выдает ошибку MSVCP90.dll is missing
:
Я проверил с Dependency Walker, они используют только одну функцию от него — wctype()
, Я пытался скопировать MSVCP90.dll из «c: \ Program Files (x86) \ Microsoft Visual Studio 9.0 \ VC \ redist \ x86 \ Microsoft.VC90.CRT \ msvcp90.dll», но это тоже не сработало, оно дало мне ошибка во время выполнения R6034
Я оставил этот путь.
An application has made an attempt to load the C runtime library incorrectly
Что подозрительно, так это то, что они ссылаются на msvcp90.dll
в Debug, а не msvcp90d.dll
, Поэтому я проверил настройки компоновщика, и они ссылаются на msvcprt.lib
, Я пытался заменить его на msvcprtd.lib
, но он все еще пытается связаться с msvcp90d.dll
,
Я также попытался повторно запустить vcredist_x86.exe и восстановить мои распространяемые файлы VS2008, но это тоже не помогло.
Я нашел причину — мне нужно было также изменить файл .lib в проекте tre.
Поэтому мне нужно было перейти в Свойства конфигурации-> Линкер-> Ввод-> Дополнительные зависимости и изменить его с msvcprt.lib
в msvcprtd.lib
для обоих tre
а также retest
проекты:
Я публикую это на тот случай, если кто-то еще столкнется с той же проблемой.
Других решений пока нет …