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]