VC编译链接错误fatal error LNK1104

cycloneboy 2004-07-23 10:39:37
我在用VC编译openCV库的示例程序时,选择Release就能正常运行,可我选择Debug编译时却出现fatal error LNK1104的错误
我以为是库的问题,将release的cv.lib改成带调试信息的cvd.lib,可还是有上面的问题,改没改都一样,不只是什么原因?
谢谢各位了!!!
...全文
607 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
cycloneboy 2004-09-16
  • 打赏
  • 举报
回复
有没有谁知道还可能是什么原因啊?
是不是2003跟vc6的兼容性问题啊?
cycloneboy 2004-07-24
  • 打赏
  • 举报
回复
错误信息就这些了
我看了msdn也就上面的解释,空间跟权限肯定够,而lib文件我也设好了, release都正常阿
不过lib是用vc6写的,我用的vc2003,不知道是不是这个问题
taianmonkey 2004-07-23
  • 打赏
  • 举报
回复
Linker Tools Error LNK1104
cannot open file "filename"

The tool could not open the given file.

Tips

One of the following may be a cause:

There was not enough disk space.


The file does not exist.


The filename or its path was incorrectly specified.


The specified drive is invalid.


The file does not have the appropriate permissions.


The path for filename expands to more than 260 characters.


If the given file is named LNKn, which is a filename generated by the linker for a temporary file, then the directory specified in the TMP environment variable may not exist, or more than one directory is specified for the TMP environment variable. (Only one directory path should be specified for the TMP environment variable.)


If the error occurs on the executable filename, an earlier version of the executable may still be running. You will need to terminate the executable before linking it. In Windows NT or Windows 95 you can use the utility PVIEW to look for and kill instances of the application. PVIEW.EXE is shipped with Visual C++.


If the error message occurs for a library name, and you recently ported the .MAK file from a previous Microsoft Visual C++ development system, the library may no longer be valid. Ensure that the library still exists in this circumstance.

--------------------------------------------------------------------------------
Send feedback to MSDN.Look here for MSDN Online resources.
Kudeet 2004-07-23
  • 打赏
  • 举报
回复
你看两种情况的设置是不是一样的。
ColderRain 2004-07-23
  • 打赏
  • 举报
回复
把具体的错误信息贴出来。
sinsou 2004-07-23
  • 打赏
  • 举报
回复
链接器工具错误 LNK1104:
无法打开文件“filename”工具未能打开给定的文件。

可能的原因 :
1.磁盘空间不足。
2.文件不存在。例如,如果试图在使用 32 位操作系统的计算机上使用 /LTCG 链接器选项的 PGINSTRUMENT 参数,则出现该错误。
3.在项目的“属性页”对话框中指定库时,应该用空格(而不是逗号)分隔库名称。
4.文件名或路径不正确。
5.驱动器规范无效。
6.文件权限不足。
7.filename 的路径扩展到超过 260 个字符。
8.如果给定文件的名称是 LNKn(这是链接器为临时文件生成的文件名),则 TMP 环境变量中指定的目录可能不存在,或是为 TMP 环境变量指定了多个目录。(应只为 TMP 环境变量指定一个目录路径。)
9.如果该错误信息是因为库名引起的,并且您刚从早期的 Microsoft Visual C++ 开发系统移植 .mak 文件,则该库可能不再有效。请确保此情况下该库仍然存在。
10.其他程序可能打开了该文件并且链接器不能写入它。
11.不正确的 LIB 环境变量。有关如何更新 LIB 环境变量的信息,请参见“选项”对话框 ->“项目”->“VC++ 目录”。确保在此处列出了具有所需库的所有目录。

链接器在某些情况下使用临时文件。即使有足够的磁盘空间,但一个非常大的链接仍可以耗尽地址空间或将其分成许多碎片。解决此问题的方法是:
1.使用 /opt:noref;消除可传递的 comdat 能够多次读取所有对象文件。
2.升级到 Windows XP。
squarezhang 2004-07-23
  • 打赏
  • 举报
回复
看一下你的工程设置里面是不是有区别了。
VC编译中出现以下错误时: LINK : fatal error LNK1104: cannot open file 'uafxcwd.lib' 解决方法 1.菜单project-》settnigs-》link-》Object/Library modules:中添加uafxcwd.lib (win7下亲测可用) 2. 如果还是不行,选择vc的全部安装,而不是默认安装 如果是unicode,可以用vc盘修复一下vc,钩选相关项。 如果以上方法不行,可以试试下面的方法。 说明: uafxcwd.lib多见于VC6编译过程中,有时候会遇到“ fatal error LNK1104: cannot open file "uafxcwd.lib"”,意思是找不到uafxcwd.lib库文件,你可在此下载,存放在提示的路径下即可,若缺少这个文件而不修复的话,VC项目可能无法编译成功。如果系统提示“没有找到uafxcwd.lib”、“缺少uafxcwd.lib文件”或者无法加载uafxcwd.lib等提示信息,您需要下载uafxcwd.lib后,拷贝到提示的路径里或在系统内安装注册该文件即可。   安装及使用方法(仅供参考,本方法对BPL文件无效):   ①将下载解压的uafxcwd.lib文件复制到C:\Windows\System32系统目录下(请注意:Win7、Vista的系统目录请以实际为准);   ②打开“开始”菜单-选择“运行”,输入“regsvr32 uafxcwd.lib”,在接下来的窗口中按回车确认即可完成控件注册。   ③如果在运行某一软件或程序编译时提示缺少、没有找到uafxcwd.lib等类似提示,您可按照提示的路径将lib拷贝到指定目录即可,或者重新添加文件引用。

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧