지금이 문제가 며칠 동안 진행되어 왔고 앞으로 나아갈 수 없었습니다. MonoTouch 바인딩 프로젝트를 사용하여 바인드하려고하는 원시 Obj-C 라이브러리가 있습니다. 바인딩 Dll이 만들어 지지만 앱으로 가져 와서 컴파일하려고하면 MT5202 네이티브 연결 실패 아키텍처 armv7에 대한 정의되지 않은 기호 :
MT5202 Native linking failed error.
빌드 출력을 읽으면 컴파일 할 iOS 버전의 심볼이 없음을 알 수 있습니다. I로 시작하기 (몇 표시) 연결 문제의 번호를 보여주는 빌드 출력
"_CVPixelBufferGetPixelFormatType", referenced from: -[DecodePickerController captureOutput:didOutputSampleBuffer:fromConnection:] in libQuickMarkSDK.a(DecodePickerController.o) -[QMImageUtil saveToAlbum:] in libQuickMarkSDK.a(QMImageUtil.o) "_CVPixelBufferGetPlaneCount", referenced from: +[QMImageUtil imageBufferSave:f:] in libQuickMarkSDK.a(QMImageUtil.o) +[QMImageUtil imageBuffer:zoom:w:h:f:] in libQuickMarkSDK.a(QMImageUtil.o) "_CVPixelBufferGetWidth", referenced from: -[DecodePickerController captureOutput:didOutputSampleBuffer:fromConnection:] in libQuickMarkSDK.a(DecodePickerController.o) -[QMImageUtil saveToAlbum:] in libQuickMarkSDK.a(QMImageUtil.o) "_CVPixelBufferGetWidthOfPlane", referenced from: +[QMImageUtil imageBufferSave:f:] in libQuickMarkSDK.a(QMImageUtil.o) "_CVPixelBufferLockBaseAddress", referenced from: -[DecodePickerController captureOutput:didOutputSampleBuffer:fromConnection:] in libQuickMarkSDK.a(DecodePickerController.o) "_OBJC_CLASS_$_AVCaptureDevice", referenced from: objc-class-ref in libQuickMarkSDK.a(QuickMarkCameraUtil.o) "_OBJC_CLASS_$_AVCaptureDeviceInput", referenced from: objc-class-ref in libQuickMarkSDK.a(QuickMarkCameraUtil.o)
와
Undefined symbols for architecture armv7:는 바인딩 그냥 오류라고 생각했다. 그래서 바인딩을 다시 작성했습니다. 기쁨이 없습니다. 그래서 이론을 테스트하기 위해 github에서 사용 가능한 RedLaser 모노 바인딩을 사용하려고했습니다. 이것은 또한 동일한 오류를 제공했습니다. (-unsafe가 makefile에서 제거 된 경우).
나는 결합하는 데 필요한 라이브러리에 대한 linkwith 문은
assembly: LinkWith ("libQuickMarkSDK.a", LinkTarget.ArmV7, ForceLoad = true, Frameworks = "AVFoundation CFNetwork CoreMedia CoreVideo libz.1.2.5.dylib MobileCoreServices QuartzCore Foundation SystemConfiguration")]
이며, 사용되는 Monotouch 추가 플래그 내가 다른 문제를 많이 읽고
-cxx
하지만 아무것도를 해결하는 데 도움이 없다 어떤 문제라도 도움이 될 것입니다.
시뮬레이터에서 실행하려면이'LinkTarget.ArmV7을 필요 | LinkTarget.Simulator', 시뮬레이터 또는 장치에서이 작업을 시도하고 있습니까? – jonathanpeppers
안녕하세요, 응답을 주셔서 감사합니다.하지만 시뮬레이터는 실행 가능 타겟이 아닙니다. 네이티브 라이브러리에서 카메라를 사용하기 때문입니다. 오류가 i386에 대한 정의되지 않은 기호 였다면 문제를 이해할 수있었습니다. –