这是我在尝试用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:\不会更改驱动器。
答案 0 :(得分:6)
是的,这是权限问题,您不能在管理员模式下运行命令行窗口。
不能在C:\
中工作将文件复制到我的文档下的文件夹,或C:或其他驱动器的子文件夹中。
或者,如果您真的想在C:
的根目录中工作,请以管理员模式运行控制台要在C:中切换到D:,只需输入D :(只有在正确的驱动器上才使用CD)
答案 1 :(得分:0)
最常见的情况是您的程序可能仍在后台运行,可能在无限循环中被挂起。您可以尝试在流程列表中搜索流程(按 Alt + Ctrl + Del )并将其删除。
答案 2 :(得分:-2)
CodeBlocks-IDE中的build-log中的g ++ .exe-command显示命令
使用其他路径:C:\MinGW\lib
,这是错误的。
如果将命令复制到cmd窗口(在项目目录中)
没有C:\MinGW\lib
编译器工作。如CodeBlocks-Buil-log
所示复制命令失败时,cmd窗口中显示相同的消息。
查看Settings > Compiler > Search Directories > Linker
。你必须删除
C:\MinGW\lib
那里,但是错误是,如果你这样做就不会被删除。
你必须重复它然后它才有效。