调试版本中TRE fuzzy-regex库运行时错误:MSVCP90.dll丢失

时间:2016-02-18 11:53:11

标签: c++ regex visual-studio-2008 dependencies fuzzy-search

我正在尝试在VS2008下编译TRE。它从Release build开始很好,但是在Debug中它给了我错误MSVCP90.dll is missing

enter image description here

我使用Dependency Walker检查过,他们只使用了一个函数 - wctype()。我尝试从“c:\ Program Files(x86)\ Microsoft Visual Studio 9.0 \ VC \ redist \ x86 \ Microsoft.VC90.CRT \ msvcp90.dll”复制MSVCP90.dll,但这也不起作用,它给了我运行时错误R6034 An application has made an attempt to load the C runtime library incorrectly,所以我放弃了那条路。

有什么可疑的是,他们在调试中链接到msvcp90.dll,而不是msvcp90d.dll。所以我检查了链接器设置,然后链接到msvcprt.lib。我尝试将其替换为msvcprtd.lib,但它仍尝试链接到msvcp90d.dll

我还尝试重新运行vcredist_x86.exe并修复我的VS2008可再发行组件,但这也无济于事。

1 个答案:

答案 0 :(得分:1)

我找到了原因 - 我还需要在tre项目中更改.lib文件。

所以我需要转到配置属性 - >链接器 - >输入 - >其他依赖关系,并将其从msvcprt.lib更改为msvcprtd.lib,用于treretest项目:

enter image description here

如果其他人遇到同样的问题,我会张贴此内容。