2013-09-11 2 views
1

Я использую GPUImage для фильтрации изображения, я интегрировал GPUImage в свой проект, полностью интегрированный в него, теперь я хочу получить доступ к файлу GPUImage в свой код. Я получал ошибку компоновщика.Как решить ошибку компоновщика i386 при использовании GPUImage?

enter image description here

В то время как я использовал этот код в моем ViewController

- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex 
{ 
    GPUImageFilter *selectedFilter; 

    switch (buttonIndex) { 
     case 0: 
      selectedFilter = [[GPUImageGrayscaleFilter alloc] init]; 
      break; 
     case 1: 
      selectedFilter = [[GPUImageSepiaFilter alloc] init]; 
      break; 
     case 2: 
      selectedFilter = [[GPUImageSketchFilter alloc] init]; 
      break; 
     case 3: 
      selectedFilter = [[GPUImagePixellateFilter alloc] init]; 
      break; 
     case 4: 
      selectedFilter = [[GPUImageColorInvertFilter alloc] init]; 
      break; 
     case 5: 
      selectedFilter = [[GPUImageToonFilter alloc] init]; 
      break; 
     case 6: 
      selectedFilter = [[GPUImagePinchDistortionFilter alloc] init]; 
      break; 
     case 7: 
      selectedFilter = [[GPUImageFilter alloc] init]; 
      break; 
     default: 
      break; 
    } 

    UIImage *filteredImage = [selectedFilter imageByFilteringImage:self.imgViewPhoto.image]; 
    [self.imgViewPhoto setImage:filteredImage]; 
} 

, как решить эту проблему? Жду ответа ..

ответ

3

GPUImage рамки не добавил в свой проект Target ,

Adding the framework to your iOS project

Start by dragging the GPUImage.xcodeproj file into your application's Xcode project to embed the framework in your project. 
Next, go to your application's target and add GPUImage as a Target Dependency. 
Finally, you'll want to drag the libGPUImage.a library from the GPUImage framework's Products folder to the Link Binary With Libraries build phase in your application's target. 

И конечно: #import "GPUImage.h"

+0

Great :))) Спасибо. Оно работало завораживающе !!! :) (y) – ishhhh

2

Ошибка говорит, что вы пропустите какой-либо рамки, чтобы добавить в свой проект для использования GPUImage

Обычно GPUImage требуют/использовать следующие рамки

  • Coremedia
  • CoreVideo
  • OpenGLES
  • AVFoundation
  • QuartzCore

Проверьте, какие рамки пропущена вами ?? и добавьте его как например

  • Выберите проект в боковой панели навигатора проекта.
  • Нажмите вкладку «Построить фазы».
  • Развернуть раздел «Связывание двоичных файлов с библиотеками».
  • Нажмите кнопку «+».
  • Выберите «пропущенный frmework» из списка.

А затем добавьте #import "GPUImage.h" в файле .m.

Смежные вопросы