c++ - 调试版本中的 TRE 模糊正则表达式库运行时错误 : MSVCP90. dll 丢失

标签 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 应用程序已尝试错误地加载 C 运行时库,因此我放弃了该路径。

可疑的是,它们在 Debug 中链接到 msvcp90.dll,而不是 msvcp90d.dll。所以我检查了链接器设置,它们链接到 msvcprt.lib。我尝试用 msvcprtd.lib 替换它,但它仍然尝试链接到 msvcp90d.dll

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

最佳答案

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

所以我需要转到 Configuration Properties->Linker->Input->Additional Dependencies,并将其从 msvcprt.lib 更改为 msvcprtd.lib,对于两者treretest 项目:

enter image description here

我发布这个以防其他人遇到同样的问题。

关于c++ - 调试版本中的 TRE 模糊正则表达式库运行时错误 : MSVCP90. dll 丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35480737/

相关文章:

visual-studio-2008 - 将目标设备从 windows mobile 5 更改为 WM6 Professional Visual Studio 2008

c++ - 如何使用参数将函数从一个结构传递到另一个结构中的另一个函数

c++ - 指针运算,按引用传递

C++项目组织

javascript - 为什么我的正则表达式没有通过这种情况(包括代码)

c# - TFS 2008 源代码管理 - 销毁所有已删除项目的快速方法

c++ - 为什么 _ftscanf_s 会抛出异常而 _ftscanf 不会?

javascript - 在 JavaScript 中,如何将字符串 "aa,bb\\,cc,dd"以逗号分隔,但前提是前一个字符不是反斜杠?

regex - 在 Go 中使用 filepath.Glob

c# - Visual Studio 加载项 : How do I know when a solution has finished loading