我最近在Windows 7 Ultimate 32bit上安装了带有mingw32的CodeBlocks以清除掉我的c技能,但是这个问题让我有些难住。ld.exe:无法打开输出文件...:权限被拒绝
我决定点燃一根短斐波那契发生器,以确保我的设置正常,但我遇到了一个障碍。
该程序编译,链接和不像一个魅力,我得到一个相应的可执行文件运行如预期。如果我试图重新编译发生
的问题,然后我得到如下:
c:/codeblocks/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: cannot open output file bin\Debug\Fibonacci.exe: Permission denied
我甚至不能编辑生成的可执行文件的权限。
我检查了秋后算账:
- 可执行文件实在没有运行。
- 可执行文件的路径是可读/写的mingw32(否则它将无法建立在第一个地方)
- 我没有运行任何形状或形式的cygwin。
现在有趣的一点:通常在几分钟后,由mingw32生成的显示此访问拒绝行为的任何可执行文件将自动消失,无需我的任何干预。
我已经使用这个有点,但大多数其他结果要么含糊不清或不适用。
我想知道是否有一些Windows 7的安全设置会对我的.exe文件造成严重破坏,但我并不了解Win 7知道从哪里开始搜索。
任何人有任何想法?
下面是一个总猜测......如果你正在构建bin \ Debug目录,那么code :: blocks可能会对它的集成调试器做一些事情,让可执行文件上的文件句柄保持打开状态。尝试建立它的发布,看看你是否有同样的问题 –
我认为@布赖恩戈登的猜测是一个很好的。如果程序正在运行,请在尝试重建之前将其终止。 –
它在Debug和Release中表现相同,并且如果我从cmd运行gcc。 在附注中,似乎只有在我实际运行可执行文件后才会发生。 我开始认为这绝对是一个安全设置的事情。 – gzzzur