【发布时间】:2014-06-19 01:12:23
【问题描述】:
我试图在工作中用 VS2008 编译一个 VC6 项目。我能够成功删除遗留代码中的所有编译错误和警告。
但是我在链接阶段遇到了一个特殊的问题。问题如下:
我遇到的第一个问题是找不到与 mfc42d.obj 相关的错误。 为了避免这种情况,我将 VC6 库放在我的 VS9 安装中。 (在一个名为 VC6Lib 的文件夹中)。
现在,当我尝试重新编译项目时,它会给出一个错误消息: LINK : 致命错误 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 线程,并且没有看到与我的问题相关的任何内容,并且链接器设置中的任何目录名称中都没有空格 [这是作为源代码提到的问题无处不在]。
我想知道这可能是什么类型的错误以及可能的解决方案是什么。
【问题讨论】:
-
这是一个链接器错误。您使用 compiler 命令记录了您的问题。这无助于我们为您提供帮助。
标签: visual-c++ visual-studio-2008 porting