我们正在使用 Visual Studio 2008 构建一个相当大且复杂的程序,该程序具有大量依赖项。当我们在 Windows 测试系统上运行 64 位构建时,它无法运行有关某些 SxS 问题的警告。
经过一番挖掘,我们意识到清单文件包含
<dependentAssembly>
<assemblyIdentity type='win32' name='Microsoft.VC90.DebugCRT' version='9.0.21022.8' processorArchitecture='amd64' publicKeyToken='1fc8b3b9a1e18e3b' />
</dependentAssembly>
我查看了构建日志并将项目链接到/VERBOSE:LIB
并查看
1>LINK : warning LNK4098: defaultlib 'MSVCRTD' conflicts with use of other libs; use /NODEFAULTLIB:library
...
1>Searching libraries
...
1> Searching c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\lib\amd64\MSVCRTD.lib:
我运行dumpbin /DIRECTIVES
了所有 .obj 文件,但没有看到对 msvcrtd.lib 的引用
这是一个发布版本。为什么它试图在 MSVCRTD 中链接?
有没有办法可以生成从 msvcrtd 链接的函数表?
谢谢