致命错误 LNK1104

6
当我在Visual Studio C++ 2008中编译我的代码时,出现以下错误:
fatal error LNK1104: cannot open file 'C:\Users\...\Documents\Visual Studio         
2008\Projects\...\Debug\....exe

我刚刚从另一个Visual Studio C++项目中复制了我的代码,并将其粘贴到这个项目中,这可能会引起错误吗?


检查此文件的只读属性,确保其为false。 - SimpleFrog
我之前遇到过同样的问题,我认为你应该尝试关闭应用程序并以管理员身份重新打开它。 - JonnySharp
5个回答

7
这可能是由于可执行文件正在运行或被其他程序打开,或者您没有该目录的正确权限导致的。

取决于VS无法打开文件的确切原因,而我无法通过心理手段确定。 - Puppy
我遇到了这个问题,因为微软安全 Essentials/Defender 一直锁定着这个文件。不幸的是,关闭实时保护也没有帮助。:-| - Synetech

2

打开任务管理器,查看是否在关闭后仍在后台运行.exe进程。如果是,则终止该进程,然后再尝试运行它。


2
如果你已经开启了预处理器输出(例如在 属性 | C/C++ | 预处理器 | 输出预处理文件 == 是),就会发生这种情况。生成一个预处理器输出文件(文件类型为 .i)与生成一个目标文件(时间为 .obj)是互斥的。

1
在我的情况下,这是由项目的“增量链接”选项(Visual Studio 2015)引起的。也许是因为这些文件还是来自同一解决方案中其他项目的依赖项,不确定...

谢谢!我有同样的问题,在到处搜索后,这就是答案。我不知道为什么会出现这个问题。我的小控制台项目只依赖于一个静态库(而非项目)。 - user2418216

0

我曾经遇到过同样的问题(我不确定这是否完全符合你的情况,但还是有点相似),当我稍微修改了一下代码后,一切都正常了...后来我发现我的杀毒软件将.exe文件阻止了,认为它可能是威胁(我不知道,也许是因为我用C++程序处理内存的方式不被它喜欢)。所以,LNK1104的原因也可能是杀毒软件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接