Ошибка Apple Mach-O Linker (Id) .. "__objc_empty_cache", нужны ссылки на платформу - PullRequest
0 голосов
/ 24 декабря 2011

Я написал код в моем проекте без каких-либо ошибок, но всякий раз, когда я запускаю программу, она показывает подобные ошибки. Я не понимаю, где я могу проверить эти ошибки. Пожалуйста, кто-нибудь, помогите мне.

Ld /Users/colors/Library/Developer/Xcode/DerivedData/Testpicker-dpwydhrdvihgeafvbusqpriesfgj/Build/Products/Debug-iphonesimulator/Testpicker.app/Testpicker нормальный i386 CD / Пользователи / цвета / Рабочий стол / Прасад / Testpicker setenv MACOSX_DEPLOYMENT_TARGET 10.6 setenv PATH "/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin" /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/clang -arch i386 -isysroot /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk -L / Users / цвета / Library / Developer / Xcode / DerivedData / Testpicker-dpwydhrdvihgeafvbusqpriesfgj / Build / Products / Debug-iphonesimulator -F / Users / цвета / Library / Developer / Xcode / DerivedData / Testpicker-dpwydhrdvihgeafvbusqpriesfgj / Build / Products / Debug-iphonesimulator -filelist /Users/colors/Library/Developer/Xcode/DerivedData/Testpicker-dpwydhrdvihgeafvbusqpriesfgj/Build/Intermediates/Testpicker.build/Debug-iphonesimulator/Testpicker.build/ObiPlayer_build/Objects- -mmacosx-version-min = 10,6 -Xlinker -objc_abi_version -Xlinker 2 -fobjc-arc -Xlinker -no_implicit_dylibs -D__IPHONE_OS_VERSION_MIN_REQUIRED = 50000 -framework CoreVideo -framework AVFoundation / пользовательская библиотека -Framework Xcode / DerivedData / Testpicker-dpwydhrdvihgeafvbusqpriesfgj / Build / Products / Debug-iphonesimulator / Testpicker.app / Testpicker`

Undefined symbols for architecture i386:
  "_objc_autoreleasePoolPush", referenced from:
      _main in main.o
  "_objc_msgSend", referenced from:
      _main in main.o
      -[ViewController viewDidLoad] in ViewController.o
      -[ViewController changeImage] in ViewController.o
      -[ViewController grabImage] in ViewController.o
      -[ViewController imagePickerController:didFinishPickingImage:editingInfo:] in ViewController.o
      -[ViewController writeImageAsMovie:toPath:size:duration:] in ViewController.o
      -[ViewController newPixelBufferFromCGImage:size:] in ViewController.o
      ...
  "_objc_retainAutoreleasedReturnValue", referenced from:
      _main in main.o
      -[ViewController viewDidLoad] in ViewController.o
      -[ViewController changeImage] in ViewController.o
      -[ViewController grabImage] in ViewController.o
      -[ViewController imagePickerController:didFinishPickingImage:editingInfo:] in ViewController.o
      -[ViewController writeImageAsMovie:toPath:size:duration:] in ViewController.o
      -[ViewController newPixelBufferFromCGImage:size:] in ViewController.o
      ...
  "_NSStringFromClass", referenced from:
      _main in main.o
  "_objc_release", referenced from:
      _main in main.o
      -[AppDelegate application:didFinishLaunchingWithOptions:] in AppDelegate.o
      -[AppDelegate applicationWillResignActive:] in AppDelegate.o
      -[AppDelegate applicationDidEnterBackground:] in AppDelegate.o
      -[AppDelegate applicationWillEnterForeground:] in AppDelegate.o
      -[AppDelegate applicationDidBecomeActive:] in AppDelegate.o
      -[AppDelegate applicationWillTerminate:] in AppDelegate.o
      ...

  "_objc_setProperty", referenced from:
      -[AppDelegate setWindow:] in AppDelegate.o
      -[ViewController setImgPicker:] in ViewController.o
  "_objc_storeStrong", referenced from:
      -[AppDelegate .cxx_destruct] in AppDelegate.o
      -[ViewController writeImageAsMovie:toPath:size:duration:] in ViewController.o
      -[ViewController .cxx_destruct] in ViewController.o
  "_OBJC_METACLASS_$_NSObject", referenced from:
      _OBJC_METACLASS_$_AppDelegate in AppDelegate.o
      _OBJC_METACLASS_$_ViewController in ViewController.o
  "__objc_empty_cache", referenced from:
      _OBJC_METACLASS_$_AppDelegate in AppDelegate.o
      _OBJC_CLASS_$_AppDelegate in AppDelegate.o
      _OBJC_METACLASS_$_ViewController in ViewController.o
      _OBJC_CLASS_$_ViewController in ViewController.o
  "__objc_empty_vtable", referenced from:
      _OBJC_METACLASS_$_AppDelegate in AppDelegate.o
      _OBJC_CLASS_$_AppDelegate in AppDelegate.o
      _OBJC_METACLASS_$_ViewController in ViewController.o
      _OBJC_CLASS_$_ViewController in ViewController.o
  "_CMTimeMake", referenced from:
      -[ViewController writeImageAsMovie:toPath:size:duration:] in ViewController.o
  "_OBJC_CLASS_$_NSTimer", referenced from:
      objc-class-ref in ViewController.o
  "_OBJC_CLASS_$_NSArray", referenced from:
      objc-class-ref in ViewController.o
  "___CFConstantStringClassReference", referenced from:
      CFString in ViewController.o
      CFString in ViewController.o
      CFString in ViewController.o
      CFString in ViewController.o
      CFString in ViewController.o
      CFString in ViewController.o
  "_OBJC_CLASS_$_NSURL", referenced from:
      objc-class-ref in ViewController.o
  "_OBJC_CLASS_$_NSAssertionHandler", referenced from:
      objc-class-ref in ViewController.o
  "_OBJC_CLASS_$_NSString", referenced from:
      objc-class-ref in ViewController.o
  "_OBJC_CLASS_$_NSDictionary", referenced from:
      objc-class-ref in ViewController.o
  "_OBJC_CLASS_$_NSNumber", referenced from:
      objc-class-ref in ViewController.o
  "_kCFAllocatorDefault", referenced from:
      -[ViewController newPixelBufferFromCGImage:size:] in ViewController.o
  "_kCMTimeZero", referenced from:
      -[ViewController writeImageAsMovie:toPath:size:duration:] in ViewController.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Ответы [ 5 ]

11 голосов
/ 24 декабря 2011

Вам нужно добавить каркас Foundation в ваш проект, где эти символы определены.

Посмотрите там же, где живут UIKit & AVFoundation каркасы, и вы должны увидеть1006 * там.Перетащите его в свой проект, и все должно сработать.

5 голосов
/ 10 марта 2013

Импорт следующих рамок

#import <Foundation/Foundation.h>
#import <AVFoundation/AVFoundation.h>
#import <CoreMedia/CoreMedia.h>
1 голос
/ 12 марта 2013

Или проверьте, отсутствует ли у вас AppDelegate.m (и другие) в разделе TARGETS / Build Phases / Compile Sources.

Случилось ли мне, когда я вручную повторно добавил файлы, которые я случайно удалил за пределами Xcode.

0 голосов
/ 09 августа 2013

У меня была эта ошибка, связывающая статическую библиотеку, которая включала код target-c в инструмент командной строки, который имел только файлы .c.Добавление одного файла .m решило проблему.

0 голосов
/ 10 июня 2013

Вам необходимо добавить платформу Foundation в ваш проект, где эти символы определены.

#import <Foundation/Foundation.h> in .h file
...