4

这就是我尝试用 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 管理权限有关吗?

如果正在创建输出文件但无法打开,它在哪里?

对不起,如果这是一个太多的菜鸟问题。到目前为止,我一直在使用 Dev-C++ 编译我的源代码。我试着用谷歌搜索错误,但我能找到的只是文件已经打开,但任务管理器中没有提到这样的 exe。

编辑:该文件也位于 C:\hello.c

如果我把它放在其他驱动器上,我能做到吗?

当我将文件放在 D:\ 并尝试使用 cd d:\ 将其更改为任何其他驱动器时,不会更改驱动器。

4

3 回答 3

6

是的,这是一个权限问题,您不能在管理员模式下运行命令行窗口。

不要在 C:\

将文件复制到我的文档下的文件夹、C: 的子文件夹或其他驱动器。

或者,如果您真的想在 C 的根目录下工作,请以管理员模式运行控制台:

要在 C: 中切换到 D:,只需键入 D:(只有在正确的驱动器上才使用 CD)

于 2010-08-10T17:47:59.747 回答
1

最常见的情况是您的程序可能仍在后台运行,可能挂在无限循环中。您可以尝试在进程列表中搜索进程(按Alt++ CtrlDel并杀死它。

于 2010-08-10T17:50:05.277 回答
-2

CodeBlocks-IDE 的构建日志中的 g++.exe-command 显示带有附加路径的命令:C:\MinGW\lib,这是错误的。

  1. 如果C:\MinGW\lib在编译器不工作的情况下将命令复制到 cmd 窗口(在项目目录中)。当您复制命令时,CodeBlocks-Buil-log它会失败,并在 cmd 窗口中显示相同的消息。

  2. 看看Settings > Compiler > Search Directories > Linker。你必须删除 C:\MinGW\lib那里,但错误是,如果你这样做一次,它不会被删除。你必须重复它,然后它才会起作用。

于 2017-07-31T12:37:16.657 回答