gpt4 book ai didi

c - Windows 上的 GCC 创建不可删除的文件

转载 作者:行者123 更新时间:2023-12-03 07:39:27 25 4
gpt4 key购买 nike

我已经在 Windows 7 上安装了 MinGW
我确实写了一个hello world应用程序...

#include <stdio.h>
void main()
{
printf("Hallo, Welt!\n");
};
我确实跑了
gcc Hello.c -o Hello
这确实创建了一个名为 Hello.exe 的 exe 应用程序
我确实运行了它,它应该打招呼
我确实在文件中添加了注释,保存它,然后在 CMD 中以管理员身份重新运行编译器
然后我得到了错误
c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: cannot open output file Hello.exe: Permission denied
collect2.exe: error: ld returned 1 exit status
所以我确实尝试在 Windows 文件资源管理器中删除该文件
确实弹出了一个窗口,并要求我使用管理员权限删除文件
所以我确实允许这个管理员权限,因为我是管理员
然后它确实弹出了另一条消息...我需要计算机本身的一些权限
我不知道我现在应该做什么......我是计算机的管理员,我无法删除文件......如果我右键单击文件并打开文件设置,我看到管理员应该拥有所有权限。
我看到的文件没有运行......文件没有被任何东西锁定
出了什么问题...是因为代码还是编译器还是窗口问题...我怎样才能杀死这个文件?
编辑:
该文件未运行...在任务管理器中显示任何用户的所有任务时,该文件不会以任何方式出现并且未运行。
杀毒软件已关闭,对问题没有影响
我也试过关闭防火墙
该文件保持无法杀死。

最佳答案

我找到了一个解决方案......看起来,直到现在......
我确实删除了 C:\MinGW
我确实以管理员身份重新安装了 MinGW,在安装过程中我确实检查了为所有用户安装它的选项
我检查了系统设置中的 Windows 路径变量,以确保它仍然存在于 C:\MinGW\bin 中。
然后我再次尝试编译文件 Hello.c 并且错误再次出现。
所以我确实为源 C:\My_C_Files 创建了一个新文件夹
现在我确实在 Windows 文件资源管理器中右键单击它,然后在文件夹属性中使用文件/文件夹权限。
我授予用户广泛的权限和管理员的所有权限,例如允许创建子文件夹读取权限删除写入读取更改,并且只授予用户和管理员全部权限。
我还将所有权授予用户和管理员
我确实将所有这些权利应用于文件夹的任何子内容,即使它是空的。
然后我确实将我的 *.c 源代码文件复制到了这个新文件夹中。
我确实再次尝试从 CMD 控制台编译它,第一次,因为它总是工作,然后再次,问题总是出现......这次它确实工作并一次又一次地覆盖 *.exe 文件,以确保我确实删除了 *.exe 并重新编译它,它仍然有效。
结论:它与源或目标文件夹的文件夹权限及其内容的权限和/或所需文件夹的所有权有关。
现在我不再有 ld.exe 或 collect2.exe - 权限错误作为 gcc 返回的 1 退出状态。
可能此信息将帮助其他遇到此错误的人,我在 google 上看到了一些,大多数人说应用程序正在运行,但事实并非如此,其他人建议启用一些对我没有帮助的 windows 服务,其他人谈论许可但主要是模糊的提示,一些谈论符号链接(symbolic link)和其他疯狂的东西。这是我发现的,用户和管理员对文件夹和内容的 Windows 权限。
感谢所有试图帮助我的人。

关于c - Windows 上的 GCC 创建不可删除的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64827825/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com