Ошибка времени выполнения библиотеки TRE fuzzy-regex в отладочной сборке: отсутствует MSVCP90.dll

Я пытаюсь скомпилировать 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, но это тоже не помогло.

1

Решение

Я нашел причину — мне нужно было также изменить файл .lib в проекте tre.

Поэтому мне нужно было перейти в Свойства конфигурации-> Линкер-> Ввод-> Дополнительные зависимости и изменить его с msvcprt.lib в msvcprtd.libдля обоих tre а также retest проекты:

введите описание изображения здесь

Я публикую это на тот случай, если кто-то еще столкнется с той же проблемой.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]