Compiling with GCC on windows 7: \mingw32\bin\ld.exe: cannot open output file a.exe

24,205

Solution 1

Yes it is a permissions issue, you must not be running the command line window in Admin mode.

Don't work in C:\

Copy the file to a folder under my documents, or a subfolder of C:, or another drive.

Or, run the console in Administrator mode if you really want to work in the root of C:

To switch to D: while in C:, just type D: (you use CD only when already on the correct drive)

Solution 2

The most common case is that your program may still be running in the background, possibly hanged on an endless loop. You can try searching for the process in the process list (press Alt+Ctrl+Del) and killing it.

Share:
24,205
stirredo
Author by

stirredo

Updated on July 09, 2022

Comments

  • stirredo
    stirredo almost 2 years

    This is what I get when trying to compile a simple hello world program with gcc.

    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
    

    Does it have something to do with windows 7 administrative privileges?

    If the output file is being created but cannot be opened, where is it located?

    Sorry if this is too much of a noobie question. I have been using Dev-C++ for compiling my source code till now. I tried googling around the error but all i could find was the file is already open, but there is no mention of such exe in task manager.

    Edit: Also the file is located at C:\hello.c

    Will i be able to do it if i place it in other drive?

    When i place the file at D:\ and try change it to any other drive using cd d:\ doesn't change the drive.