tags:

views:

4743

answers:

4

While building several different projects in QtCreator, I have run across the following build error:

collect2: ld returned 1 exit status

After only changing a few things (that should not change anything significant in the build), it will go away if it has already appeared, or it will appear if it's not there.

In my current program for a school project, I am trying to compile rock03.cpp. It's the only file in the build, and has the main() method. I had just run it successfully, and went back to change the order of some if()s, now, I get only two relevant warnings:

overriding commands for target 'rock03.o'

and

ignoring old commands for target 'rock03.o'

along with the error in question.

Does anyone know why this would happen? I cannot seem to reproduce the error with any reasonable certainty, and QtCreator is not complaining about any thing before I build.

Thanks

A: 

If the only message error is this one concerning linker, the reason can be that your program is still running and linker can not access to the binary file. Be sure your application was stopped or kill it if still running. Qtcreator never checks if previous run was stopped before compiling.

Patrice Bernassola
A: 

Checking the "Compile Output" pane reveals that the .pro file was trying to link the same .cpp file twice.

Austin Hyde
A: 

i had that problem to. i got the output that windows denied permission to write files. so i started qt creator as admin and all's fine.

mkind
A: 

The compiler output is really helpful if you're just getting this as an error, but the first candidate is probably that you've still got the output program open, and it can't write to the file, because that'll give you a solitary collect2 error like this

David Burton