简体   繁体   中英

TRE fuzzy-regex library runtime-error in debug build: MSVCP90.dll is missing

I'm trying to compile TRE under VS2008. It start in Release build fine, but in Debug it gives me the error MSVCP90.dll is missing :

在此处输入图片说明

I checked with Dependency Walker, they use only one function from it - wctype() . I tried copying MSVCP90.dll from "c:\\Program Files (x86)\\Microsoft Visual Studio 9.0\\VC\\redist\\x86\\Microsoft.VC90.CRT\\msvcp90.dll", but that didn't work either, it gave me a runtime error R6034 An application has made an attempt to load the C runtime library incorrectly , so I abandoned that path.

What's suspicious is that they link to msvcp90.dll in Debug, instead of msvcp90d.dll . So I checked the Linker settings, and they link to msvcprt.lib . I tried replacing it with msvcprtd.lib , but it still tries to link to msvcp90d.dll .

I also tried rerunning vcredist_x86.exe and repairing my the VS2008 redistributables, but that didn't help either.

I found the reason - I needed to change the .lib file at the tre project as well.

So I needed to go to Configuration Properties->Linker->Input->Additional Dependencies, and change it from msvcprt.lib to msvcprtd.lib , for both the tre and retest projects:

在此处输入图片说明

I'm posting this in case anyone else encounters the same problem.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM