Windows在运行时删除make可执行文件.为什么?

Nau*_*ile 9 windows makefile gnu-make

我正在尝试运行一些使用的代码make.我已经在我的64位Windows 7机器上下载并安装了MinGW(标准32位)和MinDM的TDM-GCC风格.

当我在管理员模式下运行make(即mingw32-make.exe),我收到以下错误消息:

Windows无法访问指定的路径或文件.您可能没有相应的权限来访问该项目.

奇怪/可怕的部分是,在运行时,它会立即删除exe文件.

我使用Microsoft(R)File Checksum Integrity Verifier V2.05按照评论中的建议运行了校验和SHA1:

C:\path\to\folder>fciv.exe -sha1 mingw32-make.exe
//
// File Checksum Integrity Verifier version 2.05.
//
c8ae5c780ab7bed652883d6443b5bfe5e23d30c9 mingw32-make.exe
Run Code Online (Sandbox Code Playgroud)

我不明白这个输出意味着什么,但也许它对某人有帮助.

笔记:

  1. 无论文件位于我的电脑上,都会发生这种情况.
  2. 此行为是特定于该make程序(其他如gfortran,gcc似乎工作正常)
  3. 重命名文件没有区别.
  4. 我是电脑的管理员
  5. 从资源管理器或命令行运行程序时的行为相同.
  6. 我的防病毒程序(Avast)在扫描时没有检测到文件的任何问题.
  7. 我从这个SourceForge页面获得了MinGW安装文件.
  8. 我从这个页面获得了TDM-GCC Web安装程序.
  9. 文件大小为219,662字节(来自主MinGW和TDM-GCC包)
  10. 我已经从命令行运行make,我已经通过Run as Administrator在上下文菜单中选择启动了命令提示符.
  11. 我也尝试make选择Run as Administrator何时选择它.
  12. mingw32-make发生此行为时运行该命令.我也尝试将它重命名为类似的结果makefoo使用相同的结果.
  13. MinGW第一次发生这种情况时,它删除了原始文件,并使用该mingw-get应用程序重新安装了它.在我开始制作原件的副本mingw32-make进行测试之后.
  14. 对于make可执行文件,除了特殊权限字段外,我拥有所有权限(包括读取和执行).

Nau*_*ile 3

使用进程管理器后,我发现问题确实是 Avast 造成的:SA 几行显示 avast 实际上在 Windows 开始执行该文件之前删除了该文件,这就是 Windows 消息的原因。我不久前将 Avast 设置为“静音模式”;我认为这种模式的唯一目的是抑制有关次要更新的通知,但显然它也允许 Avast 默默地处理“威胁”。

弄清楚之后,解决方案就很简单了。我刚刚进入设置并为该mingw32-make.exe文件创建了一个例外。现在运行没有问题。

非常感谢大家的帮助!