Apple Mach-O Linker Error - ld: file not found: -ObjC

855 views Asked by At

I've inherited an iOS project and can't even get it to build. I keep getting the following error:

ld: file not found: -ObjC
clang: error: linker command failed with exit code 1 (use -v to see invocation)

I've seen posts about the 'file not found' error but none pertaining to the '-ObjC' bit that looks like a switch.

Any ideas?

3

There are 3 answers

0
Ashley Bickerstaff On BEST ANSWER

Thanks everyone, I managed to sort it.

@Droppy pointed me in the right direction.

Before the -ObjC flag there was another called -force_all. I then stumbled across this answer which indicated that you only need the -ObjC flag. I removed -force_all and it started to work!

0
gnasher729 On

Look through your build settings, both in Xcode and in xcconfig file.

I have seen people adding an option - ObjC to some build settings for no good reason at all, and the linker may interpret that as a request to link a file named ObjC or -ObjC.

0
Droppy On

-ObjC is a valid option to ld, however it's possible to confuse ld if some other option is broken. For example the -framework option requires an argument and if that argument (the name of the framework) is missing then that would cause the sort of error you are seeing.

ld ... -framework -ObjC

However I cannot tell you exactly where the error is without seeing the complete linker command line.