0

I just opened a project i havent worked for in a couple months, and just tried to compile and run it.

I immediately got:

Undefined symbols for architecture i386:
 "l_OBJC_PROTOCOL_$_VideoOverviewControllerDelegate", referenced from:
    l_OBJC_CLASS_PROTOCOLS_$_FeaturedViewController in FeaturedViewController.o
  ld: symbol(s) not found for architecture i386
 clang: error: linker command failed with exit code 1 

and no amount of cleaning helped this error. I checked the two classes referenced in the error but couldn't find any error.

MaikelS
  • 1,309
  • 4
  • 16
  • 33

3 Answers3

3

I had this issue as well and finally found that i had implemented the same class two times. Check our class names for duplicates or duplicate .h or .m files.

ironcladmvtm
  • 1,576
  • 1
  • 9
  • 6
  • 2
    If you had duplicate symbols, the error messages would most likely be different from what the OP is seeing. – Mysticial Sep 23 '12 at 04:17
  • @Mysticial has a point. The error message would be something like: `duplicate symbols found for architecture`, not what the OP has listed. – Sam Spencer Jul 29 '13 at 21:35
3

Just be sure you didn't import a .m in your file.

#import "myFile.m"

will give you this error... just fix it with a

#import "myFile.h"
DjimOnDev
  • 389
  • 3
  • 13
1

Probably you don't have VideoOverviewControllerDelegate (i don't know, what it is) in linked frameworks. How to add framework to project.

MarrLiss
  • 808
  • 5
  • 10