我正在尝试在 VS2008 下编译 TRE。它在 Release build 中启动正常,但在 Debug 中它给了我错误 MSVCP90.dll is missing
:
我检查了 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
,对于两者tre
和 retest
项目:
我发布这个以防其他人遇到同样的问题。
关于c++ - 调试版本中的 TRE 模糊正则表达式库运行时错误 : MSVCP90. dll 丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35480737/