visual-c++ - 链接 : fatal error LNK1181: cannot open input file

标签 visual-c++ visual-studio-2008 porting

我在工作中尝试用VS2008编译一个VC6项目。我能够成功删除旧代码中的所有编译错误和警告。

但是我在链接阶段遇到了一个特殊的问题。问题如下:

我遇到的第一个问题是存在与找不到 mfc42d.obj 相关的错误。 为了避免这个问题,我将 VC6 库放置在 VS9 安装中。 (在名为 VC6Lib 的文件夹中)。

现在,当我尝试重新编译该项目时,它给出了一个错误: 链接: fatal error LNK1181:无法打开输入文件 'C:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\lib\VC6Lib.obj'

下面附有构建日志的标题供您引用:

cl /Ox /I "C:\Program Files\Microsoft Visual Studio 9.0\VC\include" /I "D:\Simulator\simserver\h" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "WINVER=0x0601" /D "_WIN32_WINNT=0x0601" /D "_CRT_SECURE_NO_WARNINGS" /D "USE_MSXML_NAMESPACE" /D "_AFXDLL" /D "_ATL_STATIC_REGISTRY" /D "_MBCS" /FD /EHa /MD /Zc:wchar_t- /Fo"Release\" /Fd"Release\vc90.pdb" /W4 /c /Zi /clr /TP .\simserver\src\structdb.cpp 1> .\simclient\src\stdafx.cpp

我已经浏览了有关此错误的所有其他 StackOverflow 和 MSDN 线程,并且没有看到与我这样的问题相关的任何内容,并且链接器设置中的任何目录名称中都没有空格 [ 被提到为此错误的来源到处都有问题]。

我想知道这可能是什么类型的错误以及可能的解决方案是什么。

最佳答案

mfc42d.lib是旧MFC的导入库。您必须从要链接的库管理器列表中删除该库。您可以使用项目设置“用作静态/共享库”添加正确的 MFC 库。

关于visual-c++ - 链接 : fatal error LNK1181: cannot open input file,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23426654/

相关文章:

.net - 如何在流程创建时附加调试器?

asp.net - 连接字符串正确时出现“实例失败”错误

python - 为什么我在 Python 'cannot import name NoneType' 中收到错误消息?

java - 如何将此自定义 MD5 Java 函数转换为 JavaScript

c++ - 改进使用 MFC FindFile API 失败

c++ - 包含所需代码时出现 Visual C++ 单元测试错误

visual-studio - 从 C++/CLI 旧语法 : How to and can this be automated? 转换

python - 将 C 的 fread(&struct,....) 移植到 Python

c - C 中使用 %2 将十进制转换为二进制

visual-c++ - VC++编译时找不到exe