"无法打开文件"编译时错误

Cam*_*Cam 2 visual-studio

问题描述:

偶尔在调试时,我收到以下错误.我正在使用visual studio 2010:

1>------ Build started: Project: projectName, Configuration: Debug Win32 ------
1>LINK : fatal error LNK1104: cannot open file 'C:\Projects\projectName\Debug\projectName.exe'
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Run Code Online (Sandbox Code Playgroud)

请注意,这projectName是我的项目的名称.当我再次调试,进行更改和调试时发生错误(完成所有这些后,上面的错误显示而不是第二次运行程序).

复制步骤:

  1. 创建一个新的空c ++项目,并将一个名为"main.cpp"的文件添加到sources文件夹中
  2. 将以下代码复制到main.cpp中:

    int main(){
        return 0;
    }
    
    Run Code Online (Sandbox Code Playgroud)
  3. 单击绿色调试箭头按钮,并记下程序的成功运行.确保它已关闭且调试会话已结束.打开进程资源管理器并确保项目的exe不再运行(如果是,请等到它关闭).
  4. 擦除main.cpp的内容并将其替换为此代码(或任何其他将正确编译的代码,与上面使用的代码不同):

    #include<iostream>
    int main(){
        std::cout<<"hello\n";
        return 0;
    }
    
    Run Code Online (Sandbox Code Playgroud)
  5. 单击绿色调试箭头按钮.IDE将显示致命LNK1104错误,而不是运行程序.你现在已经复制了这个问题.

有想法该怎么解决这个吗?


额外细节:

  • 如果我在发生错误后尝试更改权限或删除projectName.exe,则会显示一个错误弹出窗口,其中显示:

    需要权限来执行此操作

    您需要计算机管理员的许可才能对此文件进行更改

  • 我正在使用Windows 7.

  • 我使用的帐户是管理员帐户,但是当我使用非管理员帐户时,此问题也会完全相同.

  • 发生错误后2-3分钟,我无法重建或调试项目,但在大约那段时间后,我可以再次开始重新执行步骤.


更新:BOUNTY

任何可以提供解决问题的解决方案的人都可以获得100个代表:)

我已经尝试停止可能干扰VC++访问文件的所有服务,进程和应用程序,但问题仍然存在.此外,作为管理员运行vc ++没有帮助.

sme*_*lin 7

这很可能是Windows资源管理器的错误功能.

确保未.exe在Windows资源管理器中选择/聚焦文件.在Vista上LNK1104,当链接期间在Windows资源管理器中选择可执行文件时,我经常会遇到错误.

如果这没有帮助,请检查没有其他程序"选择"该文件.

编辑: 该程序可以显示哪个进程已锁定您的文件(页面包含一些链接到其他"解锁"工具)