Adding ofVideoPlayer breaks ofxKinectExample

I am moving some code using ofxKinect from oF 62 to oF 74. Also moving from xCode 3 to 4.6.2, and using OS 10.8.4.

I get a lot of “undefined symbols for architecture i386” errors, which others have written about, but no resolutions have worked completely so far. After digging through my code, I tracked the problem to an ofVideoPlayer object. The ofxKinectExample by itself works fine. The VideoPlayerExample by itself works fine. To confirm, I added this line to the ofxKinectExample and it breaks.

  
ofVideoPlayer vid;  

Output below. I checked that the build target is Latest (10.8). I know there were some issues with QT and 10.8 in the past but the VideoPlayerExample plays fine and its SDK is 10.8. I tried 10.7 any way but same errors.

Scheme is “ofxKinectExmaple > My Mac 32-bit.” Paths should be correct since I’m using a working example. I read in another post to manually add CoreVideo and QTkit frameworks - I did this and many of the errors went away, but I still see:

[tt]Undefined symbols for architecture i386:
“_vImagePermuteChannels_ARGB8888”, referenced from:
-[QTKitMovieRenderer pixels:] in openFrameworksDebug.a(ofQTKitMovieRenderer.o)
“_vImageConvert_ARGB8888toRGB888”, referenced from:
-[QTKitMovieRenderer pixels:] in openFrameworksDebug.a(ofQTKitMovieRenderer.o)
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)[/tt]

What else might fix this?

For others searching for this problem, I’ll keep this partially resolved error output in here:

[tt]ld: warning: directory not found for option ‘-L/Users/e/Documents/_xCode/of_v0.7.4_osx_release/addons/ofxKinect/example/…/…/…/addons/ofxOpenCv/libs/opencv/lib/android/armeabi’
ld: warning: directory not found for option ‘-L/Users/e/Documents/_xCode/of_v0.7.4_osx_release/addons/ofxKinect/example/…/…/…/addons/ofxOpenCv/libs/opencv/lib/android/armeabi-v7a’
ld: warning: directory not found for option ‘-L/Users/e/Documents/_xCode/of_v0.7.4_osx_release/addons/ofxKinect/example/…/…/…/addons/ofxOpenCv/libs/opencv/lib/iphone’
ld: warning: directory not found for option ‘-L/Users/e/Documents/_xCode/of_v0.7.4_osx_release/addons/ofxKinect/example/…/…/…/addons/ofxOpenCv/libs/opencv/lib/linux’
ld: warning: directory not found for option ‘-L/Users/e/Documents/_xCode/of_v0.7.4_osx_release/addons/ofxKinect/example/…/…/…/addons/ofxOpenCv/libs/opencv/lib/linux64’
ld: warning: directory not found for option ‘-L/Users/e/Documents/_xCode/of_v0.7.4_osx_release/addons/ofxKinect/example/…/…/…/addons/ofxOpenCv/libs/opencv/lib/vs2010’
ld: warning: directory not found for option ‘-L/Users/e/Documents/_xCode/of_v0.7.4_osx_release/addons/ofxKinect/example/…/…/…/addons/ofxOpenCv/libs/opencv/lib/win_cb’
ld: warning: directory not found for option ‘-L/Users/e/Documents/_xCode/of_v0.7.4_osx_release/addons/ofxKinect/example/…/…/…/addons/ofxOpenCv/libs/opencv/lib/android/armeabi’
ld: warning: directory not found for option ‘-L/Users/e/Documents/_xCode/of_v0.7.4_osx_release/addons/ofxKinect/example/…/…/…/addons/ofxOpenCv/libs/opencv/lib/linux64’
ld: warning: directory not found for option ‘-L/Users/e/Documents/_xCode/of_v0.7.4_osx_release/addons/ofxKinect/example/…/…/…/addons/ofxOpenCv/libs/opencv/lib/vs2010’
ld: warning: directory not found for option ‘-L/Users/e/Documents/_xCode/of_v0.7.4_osx_release/addons/ofxKinect/example/…/…/…/addons/ofxOpenCv/libs/opencv/lib/win_cb’
ld: warning: directory not found for option ‘-L/Users/e/Documents/_xCode/of_v0.7.4_osx_release/addons/ofxKinect/example/…/…/…/addons/ofxOpenCv/libs/opencv/lib/android/armeabi’
ld: warning: directory not found for option ‘-L/Users/e/Documents/_xCode/of_v0.7.4_osx_release/addons/ofxKinect/example/…/…/…/addons/ofxOpenCv/libs/opencv/lib/android/armeabi-v7a’
ld: warning: directory not found for option ‘-L/Users/e/Documents/_xCode/of_v0.7.4_osx_release/addons/ofxKinect/example/…/…/…/addons/ofxOpenCv/libs/opencv/lib/iphone’
ld: warning: directory not found for option ‘-L/Users/e/Documents/_xCode/of_v0.7.4_osx_release/addons/ofxKinect/example/…/…/…/addons/ofxOpenCv/libs/opencv/lib/linux’
ld: warning: directory not found for option ‘-L/Users/e/Documents/_xCode/of_v0.7.4_osx_release/addons/ofxKinect/example/…/…/…/addons/ofxOpenCv/libs/opencv/lib/linux64’
ld: warning: directory not found for option ‘-L/Users/e/Documents/_xCode/of_v0.7.4_osx_release/addons/ofxKinect/example/…/…/…/addons/ofxOpenCv/libs/opencv/lib/vs2010’
ld: warning: directory not found for option ‘-L/Users/e/Documents/_xCode/of_v0.7.4_osx_release/addons/ofxKinect/example/…/…/…/addons/ofxOpenCv/libs/opencv/lib/win_cb’
Undefined symbols for architecture i386:
“_kCVPixelBufferPixelFormatTypeKey”, referenced from:
-[QTKitMovieRenderer pixelBufferAttributes] in openFrameworksDebug.a(ofQTKitMovieRenderer.o)
“_kCVBufferMovieTimeKey”, referenced from:
-[QTKitMovieRenderer frameAvailable:] in openFrameworksDebug.a(ofQTKitMovieRenderer.o)
“_QTMovieLoopsBackAndForthAttribute”, referenced from:
-[QTKitMovieRenderer setPalindrome:] in openFrameworksDebug.a(ofQTKitMovieRenderer.o)
-[QTKitMovieRenderer palindrome] in openFrameworksDebug.a(ofQTKitMovieRenderer.o)
“_QTMovieLoopsAttribute”, referenced from:
-[QTKitMovieRenderer setLoops:] in openFrameworksDebug.a(ofQTKitMovieRenderer.o)
-[QTKitMovieRenderer loops] in openFrameworksDebug.a(ofQTKitMovieRenderer.o)
“_CVOpenGLTextureGetName”, referenced from:
-[QTKitMovieRenderer textureID] in openFrameworksDebug.a(ofQTKitMovieRenderer.o)
-[QTKitMovieRenderer bindTexture] in openFrameworksDebug.a(ofQTKitMovieRenderer.o)
“_QTMovieNaturalSizeAttribute”, referenced from:
-[QTKitMovieRenderer loadMovie:pathIsURL:allowTexture:allowPixels:allowAlpha:] in openFrameworksDebug.a(ofQTKitMovieRenderer.o)
“_CVPixelBufferGetPixelFormatType”, referenced from:
-[QTKitMovieRenderer pixels:] in openFrameworksDebug.a(ofQTKitMovieRenderer.o)
“_CVPixelBufferLockBaseAddress”, referenced from:
-[QTKitMovieRenderer pixels:] in openFrameworksDebug.a(ofQTKitMovieRenderer.o)
“_kCVPixelBufferOpenGLCompatibilityKey”, referenced from:
-[QTKitMovieRenderer pixelBufferAttributes] in openFrameworksDebug.a(ofQTKitMovieRenderer.o)
“_QTMovieURLAttribute”, referenced from:
-[QTKitMovieRenderer loadMovie:pathIsURL:allowTexture:allowPixels:allowAlpha:] in openFrameworksDebug.a(ofQTKitMovieRenderer.o)
“_CVPixelBufferGetBaseAddress”, referenced from:
-[QTKitMovieRenderer pixels:] in openFrameworksDebug.a(ofQTKitMovieRenderer.o)
“_CVPixelBufferGetBytesPerRow”, referenced from:
-[QTKitMovieRenderer pixels:] in openFrameworksDebug.a(ofQTKitMovieRenderer.o)
“_CVPixelBufferGetWidth”, referenced from:
-[QTKitMovieRenderer pixels:] in openFrameworksDebug.a(ofQTKitMovieRenderer.o)
“_CVPixelBufferGetHeight”, referenced from:
-[QTKitMovieRenderer pixels:] in openFrameworksDebug.a(ofQTKitMovieRenderer.o)
“_CVOpenGLTextureRelease”, referenced from:
-[QTKitMovieRenderer dealloc] in openFrameworksDebug.a(ofQTKitMovieRenderer.o)
-[QTKitMovieRenderer frameAvailable:] in openFrameworksDebug.a(ofQTKitMovieRenderer.o)
“_CVOpenGLTextureCacheCreateTextureFromImage”, referenced from:
-[QTKitMovieRenderer frameAvailable:] in openFrameworksDebug.a(ofQTKitMovieRenderer.o)
“_QTMovieOpenAsyncOKAttribute”, referenced from:
-[QTKitMovieRenderer loadMovie:pathIsURL:allowTexture:allowPixels:allowAlpha:] in openFrameworksDebug.a(ofQTKitMovieRenderer.o)
“_QTMakeTime”, referenced from:
-[QTKitMovieRenderer loadMovie:pathIsURL:allowTexture:allowPixels:allowAlpha:] in openFrameworksDebug.a(ofQTKitMovieRenderer.o)
-[QTKitMovieRenderer frameAvailable:] in openFrameworksDebug.a(ofQTKitMovieRenderer.o)
-[QTKitMovieRenderer setPosition:] in openFrameworksDebug.a(ofQTKitMovieRenderer.o)
-[QTKitMovieRenderer setFrame:] in openFrameworksDebug.a(ofQTKitMovieRenderer.o)
“_CVBufferGetAttachment”, referenced from:
-[QTKitMovieRenderer frameAvailable:] in openFrameworksDebug.a(ofQTKitMovieRenderer.o)
“_CVOpenGLTextureGetTarget”, referenced from:
-[QTKitMovieRenderer textureTarget] in openFrameworksDebug.a(ofQTKitMovieRenderer.o)
-[QTKitMovieRenderer bindTexture] in openFrameworksDebug.a(ofQTKitMovieRenderer.o)
-[QTKitMovieRenderer unbindTexture] in openFrameworksDebug.a(ofQTKitMovieRenderer.o)
“_CVOpenGLTextureGetCleanTexCoords”, referenced from:
-[QTKitMovieRenderer draw:] in openFrameworksDebug.a(ofQTKitMovieRenderer.o)
“_vImagePermuteChannels_ARGB8888”, referenced from:
-[QTKitMovieRenderer pixels:] in openFrameworksDebug.a(ofQTKitMovieRenderer.o)
“_vImageConvert_ARGB8888toRGB888”, referenced from:
-[QTKitMovieRenderer pixels:] in openFrameworksDebug.a(ofQTKitMovieRenderer.o)
“_CVPixelBufferRelease”, referenced from:
-[QTKitMovieRenderer dealloc] in openFrameworksDebug.a(ofQTKitMovieRenderer.o)
-[QTKitMovieRenderer frameAvailable:] in openFrameworksDebug.a(ofQTKitMovieRenderer.o)
“_CVOpenGLTextureCacheRelease”, referenced from:
-[QTKitMovieRenderer dealloc] in openFrameworksDebug.a(ofQTKitMovieRenderer.o)
“_CVPixelBufferUnlockBaseAddress”, referenced from:
-[QTKitMovieRenderer pixels:] in openFrameworksDebug.a(ofQTKitMovieRenderer.o)
“_CVOpenGLTextureCacheFlush”, referenced from:
-[QTKitMovieRenderer frameAvailable:] in openFrameworksDebug.a(ofQTKitMovieRenderer.o)
“.objc_class_name_QTMovie”, referenced from:
pointer-to-literal-objc-class-name in openFrameworksDebug.a(ofQTKitMovieRenderer.o)
“_CVOpenGLTextureCacheCreate”, referenced from:
-[QTKitMovieRenderer loadMovie:pathIsURL:allowTexture:allowPixels:allowAlpha:] in openFrameworksDebug.a(ofQTKitMovieRenderer.o)
“_QTTimeCompare”, referenced from:
-[QTKitMovieRenderer loadMovie:pathIsURL:allowTexture:allowPixels:allowAlpha:] in openFrameworksDebug.a(ofQTKitMovieRenderer.o)
-[QTKitMovieRenderer setPosition:] in openFrameworksDebug.a(ofQTKitMovieRenderer.o)
-[QTKitMovieRenderer setFrame:] in openFrameworksDebug.a(ofQTKitMovieRenderer.o)
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)[/tt]

1 Like

aha! I also needed to add the Accelerate framework. I didn’t realize the kinectExample doesn’t include what all 0072 and newer projects now include. Hopefully this helps someone.

1 Like

Hi! I am having the exact problem…! What process did you use to get the accelerate framework added?? Thanks in advance…

just drag and drop the framework from the empty example

FYI framework folder in left sidebar, click Folder/File View icon (http://www.openframeworks.cc/setup/xcode/)

You saved my life ! Thanks :slight_smile: