这是我在尝试用gcc编译一个简单的hello world程序时得到的结果。
c:\>gcc hello.c
hello.c:9:2: warning: no newline at end of file
C:\MinGW\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\mingw32\bin\ld.exe: cannot open output file a.exe
: Permission denied
collect2: ld returned 1 exit status
它是否与windows 7管理权限有关?
如果正在创建输出文件,但无法打开,则该文件位于何处?
对不起,如果这是一个太多的noobie问题。我一直在使用Dev-C ++编译我的源代码,直到现在。我试图谷歌周围的错误,但我所能找到的是文件已经打开,但没有提到这样的exe在任务管理器。
编辑:文件也位于C:\hello.c
如果我把它放在其他驱动器上,我能做到吗?
当我把文件放在D:\并尝试改变它到任何其他驱动器使用cd d:\不改变驱动器。
4条答案
按热度按时间bksxznpy1#
是的,这是权限问题,您不能在管理模式下运行命令行窗口。
不工作在C:
将文件复制到"我的文档"下的文件夹、C:的子文件夹或其他驱动器中。
或者,如果确实要在C:的根目录下工作,请以管理员模式运行控制台
要切换到D:而在C:中,只需键入D:(仅当CD位于正确的驱动器上时才使用CD)
z18hc3ub2#
最常见的情况是你的程序可能还在后台运行,可能是死循环挂起。你可以尝试在进程列表中搜索该进程(按Alt+Ctrl+Del)并杀死它。
vhmi4jdf3#
我发现问题是托管src下谷歌驱动器;..耶稣超级星星查克诺里斯货车达姆.. 3 H试图弄清楚这一个(vs代码+mingw 64)。
解决方案:只是把我的cpp源文件的文件夹移到了谷歌驱动器管理的文件夹树之外(在f:\gd上),所以把我的源文件移到了f:\dev。
m3eecexj4#
CodeBlocks-IDE的构建日志中的g++. exe命令显示了带有附加路径的命令:
C:\MinGW\lib
,这是错误的。1.如果您将命令复制到一个cmd窗口(在您的项目目录中),而不使用
C:\MinGW\lib
,编译器将工作。当您复制CodeBlocks-Buil-log
中所示的命令时,编译器将失败,并在cmd窗口中显示相同的消息。1.看一下
Settings > Compiler > Search Directories > Linker
,你必须删除C:\MinGW\lib
,但是bug是,如果你做了一次,它不会被删除,你必须重复它,然后它才能工作。