views:

607

answers:

2

I'm following the reference at http://developer.apple.com/iphone/library/qa/qa2010/qa1702.html to capture video from the iPhone camera. It's a fresh project aside from the code from that page. I added the AVFoundation framework to the project as well. Here's the linker errors I get:

Build my project of project my project with configuration Debug

CompileC "build/my project.build/Debug-iphoneos/my project.build/Objects-normal/armv6/MainViewController.o" /Users/mwilliamson/Projects/my_project/iphone/Classes/MainViewController.m normal armv6 objective-c com.apple.compilers.gcc.4_2
cd /Users/mwilliamson/Projects/my_project/iphone
setenv LANG en_US.US-ASCII
setenv PATH "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/opt/local/bin:/usr/local/git/bin"
/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2 -x objective-c -arch armv6 -fmessage-length=0 -pipe -std=c99 -Wno-trigraphs -fpascal-strings -O0 -Wreturn-type -Wunused-variable -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.0.sdk -fvisibility=hidden -gdwarf-2 -mthumb -miphoneos-version-min=4.0 -iquote "/Users/mwilliamson/Projects/my_project/iphone/build/my project.build/Debug-iphoneos/my project.build/my project-generated-files.hmap" "-I/Users/mwilliamson/Projects/my_project/iphone/build/my project.build/Debug-iphoneos/my project.build/my project-own-target-headers.hmap" "-I/Users/mwilliamson/Projects/my_project/iphone/build/my project.build/Debug-iphoneos/my project.build/my project-all-target-headers.hmap" -iquote "/Users/mwilliamson/Projects/my_project/iphone/build/my project.build/Debug-iphoneos/my project.build/my project-project-headers.hmap" -F/Users/mwilliamson/Projects/my_project/iphone/build/Debug-iphoneos -I/Users/mwilliamson/Projects/my_project/iphone/build/Debug-iphoneos/include -I/Users/mwilliamson/Projects/my_project/iphone/opencv_device/include "-I/Users/mwilliamson/Projects/my_project/iphone/build/my project.build/Debug-iphoneos/my project.build/DerivedSources/armv6" "-I/Users/mwilliamson/Projects/my_project/iphone/build/my project.build/Debug-iphoneos/my project.build/DerivedSources" -include /var/folders/kW/kW6u6B7SGyGYu+nNumtIa++++TI/-Caches-/com.apple.Xcode.501/SharedPrecompiledHeaders/my_project_Prefix-alujyqxskcuyuogdsynmjyrkxbhh/my_project_Prefix.pch -c /Users/mwilliamson/Projects/my_project/iphone/Classes/MainViewController.m -o "/Users/mwilliamson/Projects/my_project/iphone/build/my project.build/Debug-iphoneos/my project.build/Objects-normal/armv6/MainViewController.o"

/Users/mwilliamson/Projects/my_project/iphone/Classes/MainViewController.m: In function '-[MainViewController captureOutput:didOutputSampleBuffer:fromConnection:]':
/Users/mwilliamson/Projects/my_project/iphone/Classes/MainViewController.m:126: warning: 'MainViewController' may not respond to '-imageFromSampleBuffer:'
/Users/mwilliamson/Projects/my_project/iphone/Classes/MainViewController.m:126: warning: (Messages without a matching method signature
/Users/mwilliamson/Projects/my_project/iphone/Classes/MainViewController.m:126: warning: will be assumed to return 'id' and accept
/Users/mwilliamson/Projects/my_project/iphone/Classes/MainViewController.m:126: warning: '...' as arguments.)

Ld "build/my project.build/Debug-iphoneos/my project.build/Objects-normal/armv6/my project" normal armv6
cd /Users/mwilliamson/Projects/my_project/iphone
setenv IPHONEOS_DEPLOYMENT_TARGET 4.0
setenv PATH "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/opt/local/bin:/usr/local/git/bin"
/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2 -arch armv6 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.0.sdk -L/Users/mwilliamson/Projects/my_project/iphone/build/Debug-iphoneos -F/Users/mwilliamson/Projects/my_project/iphone/build/Debug-iphoneos -filelist "/Users/mwilliamson/Projects/my_project/iphone/build/my project.build/Debug-iphoneos/my project.build/Objects-normal/armv6/my project.LinkFileList" -dead_strip -lz -lstdc++ /Users/mwilliamson/Projects/my_project/iphone/opencv_device/lib/libcxcore.a /Users/mwilliamson/Projects/my_project/iphone/opencv_device/lib/libcv.a -miphoneos-version-min=4.0 -framework Foundation -framework UIKit -framework CoreGraphics -framework AVFoundation -o "/Users/mwilliamson/Projects/my_project/iphone/build/my project.build/Debug-iphoneos/my project.build/Objects-normal/armv6/my project"

Undefined symbols:
  "_CVPixelBufferGetBaseAddress", referenced from:
      -[MainViewController imageFromSampleBuffer:] in MainViewController.o
  "_CVPixelBufferUnlockBaseAddress", referenced from:
      -[MainViewController imageFromSampleBuffer:] in MainViewController.o
  "_CVPixelBufferLockBaseAddress", referenced from:
      -[MainViewController imageFromSampleBuffer:] in MainViewController.o
  "_CMSampleBufferGetImageBuffer", referenced from:
      -[MainViewController imageFromSampleBuffer:] in MainViewController.o
  "_CVPixelBufferGetHeight", referenced from:
      -[MainViewController imageFromSampleBuffer:] in MainViewController.o
  "_kCVPixelBufferPixelFormatTypeKey", referenced from:
      _kCVPixelBufferPixelFormatTypeKey$non_lazy_ptr in MainViewController.o
     (maybe you meant: _kCVPixelBufferPixelFormatTypeKey$non_lazy_ptr)
  "_CVPixelBufferGetWidth", referenced from:
      -[MainViewController imageFromSampleBuffer:] in MainViewController.o
  "_CVPixelBufferGetBytesPerRow", referenced from:
      -[MainViewController imageFromSampleBuffer:] in MainViewController.o
  "_CMTimeMake", referenced from:
      -[MainViewController setupCaptureSession] in MainViewController.o
  "_CVPixelBufferGetDataSize", referenced from:
      -[MainViewController imageFromSampleBuffer:] in MainViewController.o
ld: symbol(s) not found
collect2: ld returned 1 exit status

CompileC "build/my project.build/Debug-iphoneos/my project.build/Objects-normal/armv7/MainViewController.o" /Users/mwilliamson/Projects/my_project/iphone/Classes/MainViewController.m normal armv7 objective-c com.apple.compilers.gcc.4_2
cd /Users/mwilliamson/Projects/my_project/iphone
setenv LANG en_US.US-ASCII
setenv PATH "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/opt/local/bin:/usr/local/git/bin"
/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2 -x objective-c -arch armv7 -fmessage-length=0 -pipe -std=c99 -Wno-trigraphs -fpascal-strings -O0 -Wreturn-type -Wunused-variable -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.0.sdk -fvisibility=hidden -gdwarf-2 -mthumb -miphoneos-version-min=4.0 -iquote "/Users/mwilliamson/Projects/my_project/iphone/build/my project.build/Debug-iphoneos/my project.build/my project-generated-files.hmap" "-I/Users/mwilliamson/Projects/my_project/iphone/build/my project.build/Debug-iphoneos/my project.build/my project-own-target-headers.hmap" "-I/Users/mwilliamson/Projects/my_project/iphone/build/my project.build/Debug-iphoneos/my project.build/my project-all-target-headers.hmap" -iquote "/Users/mwilliamson/Projects/my_project/iphone/build/my project.build/Debug-iphoneos/my project.build/my project-project-headers.hmap" -F/Users/mwilliamson/Projects/my_project/iphone/build/Debug-iphoneos -I/Users/mwilliamson/Projects/my_project/iphone/build/Debug-iphoneos/include -I/Users/mwilliamson/Projects/my_project/iphone/opencv_device/include "-I/Users/mwilliamson/Projects/my_project/iphone/build/my project.build/Debug-iphoneos/my project.build/DerivedSources/armv7" "-I/Users/mwilliamson/Projects/my_project/iphone/build/my project.build/Debug-iphoneos/my project.build/DerivedSources" -include /var/folders/kW/kW6u6B7SGyGYu+nNumtIa++++TI/-Caches-/com.apple.Xcode.501/SharedPrecompiledHeaders/my_project_Prefix-gtrotaxhqdjhgqbqbsnyeqjkaxdt/my_project_Prefix.pch -c /Users/mwilliamson/Projects/my_project/iphone/Classes/MainViewController.m -o "/Users/mwilliamson/Projects/my_project/iphone/build/my project.build/Debug-iphoneos/my project.build/Objects-normal/armv7/MainViewController.o"

/Users/mwilliamson/Projects/my_project/iphone/Classes/MainViewController.m: In function '-[MainViewController captureOutput:didOutputSampleBuffer:fromConnection:]':
/Users/mwilliamson/Projects/my_project/iphone/Classes/MainViewController.m:126: warning: 'MainViewController' may not respond to '-imageFromSampleBuffer:'
/Users/mwilliamson/Projects/my_project/iphone/Classes/MainViewController.m:126: warning: (Messages without a matching method signature
/Users/mwilliamson/Projects/my_project/iphone/Classes/MainViewController.m:126: warning: will be assumed to return 'id' and accept
/Users/mwilliamson/Projects/my_project/iphone/Classes/MainViewController.m:126: warning: '...' as arguments.)

Ld "build/my project.build/Debug-iphoneos/my project.build/Objects-normal/armv7/my project" normal armv7
cd /Users/mwilliamson/Projects/my_project/iphone
setenv IPHONEOS_DEPLOYMENT_TARGET 4.0
setenv PATH "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/opt/local/bin:/usr/local/git/bin"
/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2 -arch armv7 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.0.sdk -L/Users/mwilliamson/Projects/my_project/iphone/build/Debug-iphoneos -F/Users/mwilliamson/Projects/my_project/iphone/build/Debug-iphoneos -filelist "/Users/mwilliamson/Projects/my_project/iphone/build/my project.build/Debug-iphoneos/my project.build/Objects-normal/armv7/my project.LinkFileList" -dead_strip -lz -lstdc++ /Users/mwilliamson/Projects/my_project/iphone/opencv_device/lib/libcxcore.a /Users/mwilliamson/Projects/my_project/iphone/opencv_device/lib/libcv.a -miphoneos-version-min=4.0 -framework Foundation -framework UIKit -framework CoreGraphics -framework AVFoundation -o "/Users/mwilliamson/Projects/my_project/iphone/build/my project.build/Debug-iphoneos/my project.build/Objects-normal/armv7/my project"

Undefined symbols:
  "_CVPixelBufferGetBaseAddress", referenced from:
      -[MainViewController imageFromSampleBuffer:] in MainViewController.o
  "_CVPixelBufferUnlockBaseAddress", referenced from:
      -[MainViewController imageFromSampleBuffer:] in MainViewController.o
  "_CVPixelBufferLockBaseAddress", referenced from:
      -[MainViewController imageFromSampleBuffer:] in MainViewController.o
  "_CMSampleBufferGetImageBuffer", referenced from:
      -[MainViewController imageFromSampleBuffer:] in MainViewController.o
  "_CVPixelBufferGetHeight", referenced from:
      -[MainViewController imageFromSampleBuffer:] in MainViewController.o
  "_kCVPixelBufferPixelFormatTypeKey", referenced from:
      _kCVPixelBufferPixelFormatTypeKey$non_lazy_ptr in MainViewController.o
     (maybe you meant: _kCVPixelBufferPixelFormatTypeKey$non_lazy_ptr)
  "_CVPixelBufferGetWidth", referenced from:
      -[MainViewController imageFromSampleBuffer:] in MainViewController.o
  "_CVPixelBufferGetBytesPerRow", referenced from:
      -[MainViewController imageFromSampleBuffer:] in MainViewController.o
  "_CMTimeMake", referenced from:
      -[MainViewController setupCaptureSession] in MainViewController.o
  "_CVPixelBufferGetDataSize", referenced from:
      -[MainViewController imageFromSampleBuffer:] in MainViewController.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
+7  A: 

Once again, I answer my own question.... I needed to add the CoreVideo and CoreMedia frameworks too.

Matt Williamson
Thanks Matt I had the same error.
Jim Blackler
thanks that fixed my problem too
aryaxt
A: 

As did I, thanks for posting the follow up.

Mongo