我打算在我的应用中加入instaPDF和Avairy。我可以使用Xcode 4.6轻松下载和编译instaPDF。
我遇到的问题是,作为合并Aviary的一部分,我必须将“其他链接器标志”设置为“-ObjC -all_load”。一旦我设置我得到这些错误。如果我删除其他链接器标志一切都很好。当然,Aviary不会发射而且它会崩溃。
所以有两个问题
1)其他链接器标志有什么意义?将其设置为-ObjC -all_load
的含义是什么2)有没有办法可以设置其他链接器标志并且仍然让instaPDF满意或这是否意味着没有Aviary和InstaPDF可以共存?
以下是错误。
Undefined symbols for architecture armv7:
"_CVPixelBufferGetPixelFormatType", referenced from:
-[CvVideoCamera captureOutput:didOutputSampleBuffer:fromConnection:] in opencv2(cap_ios_video_camera.o)
"_CVPixelBufferGetWidthOfPlane", referenced from:
-[CvVideoCamera captureOutput:didOutputSampleBuffer:fromConnection:] in opencv2(cap_ios_video_camera.o)
"_CVPixelBufferGetHeightOfPlane", referenced from:
-[CvVideoCamera captureOutput:didOutputSampleBuffer:fromConnection:] in opencv2(cap_ios_video_camera.o)
"_CVPixelBufferLockBaseAddress", referenced from:
-[CaptureDelegate updateImage] in opencv2(cap_avfoundation.o)
-[CvVideoCamera captureOutput:didOutputSampleBuffer:fromConnection:] in opencv2(cap_ios_video_camera.o)
"_CVPixelBufferGetBaseAddressOfPlane", referenced from:
-[CvVideoCamera captureOutput:didOutputSampleBuffer:fromConnection:] in opencv2(cap_ios_video_camera.o)
"_CVPixelBufferGetBaseAddress", referenced from:
-[CaptureDelegate updateImage] in opencv2(cap_avfoundation.o)
-[CvVideoCamera captureOutput:didOutputSampleBuffer:fromConnection:] in opencv2(cap_ios_video_camera.o)
"_CVPixelBufferGetWidth", referenced from:
-[CaptureDelegate updateImage] in opencv2(cap_avfoundation.o)
-[CvVideoCamera captureOutput:didOutputSampleBuffer:fromConnection:] in opencv2(cap_ios_video_camera.o)
"_CVPixelBufferGetBytesPerRow", referenced from:
-[CaptureDelegate updateImage] in opencv2(cap_avfoundation.o)
-[CvVideoCamera captureOutput:didOutputSampleBuffer:fromConnection:] in opencv2(cap_ios_video_camera.o)
"_CVPixelBufferGetBytesPerRowOfPlane", referenced from:
-[CvVideoCamera captureOutput:didOutputSampleBuffer:fromConnection:] in opencv2(cap_ios_video_camera.o)
"_CVBufferRetain", referenced from:
-[CaptureDelegate captureOutput:didOutputSampleBuffer:fromConnection:] in opencv2(cap_avfoundation.o)
-[CaptureDelegate updateImage] in opencv2(cap_avfoundation.o)
"_kCVPixelBufferPixelFormatTypeKey", referenced from:
-[CvVideoCamera createVideoDataOutput] in opencv2(cap_ios_video_camera.o)
-[CvVideoCamera createVideoFileOutput] in opencv2(cap_ios_video_camera.o)
"_CVPixelBufferGetHeight", referenced from:
-[CaptureDelegate updateImage] in opencv2(cap_avfoundation.o)
-[CvVideoCamera captureOutput:didOutputSampleBuffer:fromConnection:] in opencv2(cap_ios_video_camera.o)
"_CVPixelBufferUnlockBaseAddress", referenced from:
-[CaptureDelegate updateImage] in opencv2(cap_avfoundation.o)
-[CvVideoCamera captureOutput:didOutputSampleBuffer:fromConnection:] in opencv2(cap_ios_video_camera.o)
"_CVBufferRelease", referenced from:
-[CaptureDelegate captureOutput:didOutputSampleBuffer:fromConnection:] in opencv2(cap_avfoundation.o)
-[CaptureDelegate updateImage] in opencv2(cap_avfoundation.o)
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
答案 0 :(得分:4)
您需要链接CoreVideo框架以解析所有这些符号。
这是一个简单的伎俩。查看其中一个未定义的符号。复制符号(减去前导下划线)并将其输入到Xcode管理器中参考文档的搜索字段中。选择匹配的引用。滚动到参考页面的顶部。在页面顶部的标题中应该有一个框架条目。