我意识到我必须应对这样的问题。使用Visual C ++ 2008编译旧程序,我收到错误
LINK : fatal error LNK1104: cannot open file 'LIBC.lib'
在检查VC项目设置之后,我认为这是由于嵌入了LIBC.LIB链接指令的Visual C ++ 6时代编译的旧lib(将链接到最终的EXE)引起的(由cl /ML...
)。
因为我的项目中添加了很多库,所以我认为我需要快速查找哪些lib包含LIBC.LIB链接指令以便我可以修复那些使用/MT
的库。
BTW:使用/NODEFAULTLIB:LIBC.LIB
链接器选项作为解决方案并不合适,因为单线程CRT和多线程CRT之间存在二进制接口不兼容。
答案 0 :(得分:1)
我不确定,因为我有一段时间没有在VisualStudio中开发,但dumpbin
工具可能会为您提供有关您库的相关信息。作为命令行工具,您可以轻松地在文本文件中捕获其输出并在其中进行搜索。
答案 1 :(得分:0)
您可以尝试使用依赖性walker。 http://www.dependencywalker.com/