iOS Question Error with B4i Library

walterf25

Expert
Licensed User
Longtime User
Hi all, I started wrapping a library, in xcode everything compiles fine, I have generated the xml library file, copied the xml file into the Additional_Libs folder, the library wrapper only has one function as of now, but when i try to compile my app I get the following error


Undefined symbols for architecture arm64:
"_OBJC_CLASS_$_MPPPoseLandmarker", referenced from:
in libiPoseLandmarker.a[2](iPoseLandmarker.o)
"_OBJC_CLASS_$_MPPPoseLandmarkerOptions", referenced from:
in libiPoseLandmarker.a[2](iPoseLandmarker.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

The libiPoseLandmarker.a file has been copied to the Libs folder of my local B4iBuildServer along with the MediaPipeTasksVision.framework which is required by this library, Not sure what the error means exactly, hoping someone here with more experience can help me figure this out.

Thanks everyone in advance.

Walter
 

walterf25

Expert
Licensed User
Longtime User
Copying the library isn't enough. Add to your project:
B4X:
#AdditionalLib: iPoseLandmarker.a.3
#AdditionalLib: MediaPipeTasksVision.framework.3

If it works then you can add it to the XML file with:
B4X:
//~dependson: FirebaseAnalytics.framework.3
In the header file.
Hi @Erel I just tried adding
B4X:
#AdditionalLib: iPoseLandmarker.a.3

But I get the following error, I can see that library in the Lib folder of the B4iBuildServer, but not sure why I get this error

ld: library 'iPoseLandmarker.a.3' not found
Any thoughts?
 
Upvote 0

walterf25

Expert
Licensed User
Longtime User
Try:
B4X:
#AdditionalLib: iPoseLandmarker
Hi Erel, just tried that and now I get the following errors.

Ld /Users/walterflores/Documents/B4iBuildServer/UploadedProjects/<user id>/Payload/tros.ai.app/tros.ai normal (in target 'B4iProject' from project 'B4iProject')
cd /Users/walterflores/Documents/B4iBuildServer/UploadedProjects/<user id>
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -target arm64-apple-ios15.0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS16.1.sdk -L/Users/walterflores/Documents/B4iBuildServer/UploadedProjects/<user id>/build/EagerLinkingTBDs -L/Users/walterflores/Documents/B4iBuildServer/UploadedProjects/<user id>/Payload -L../../Libs -F/Users/walterflores/Documents/B4iBuildServer/UploadedProjects/<user id>/build/EagerLinkingTBDs -F/Users/walterflores/Documents/B4iBuildServer/UploadedProjects/<user id>/Payload -F../../Libs -filelist /Users/walterflores/Documents/B4iBuildServer/UploadedProjects/<user id>/build/B4iProject.build/Release-iphoneos/B4iProject.build/Objects-normal/arm64/tros.ai.LinkFileList -Xlinker -rpath -Xlinker @executable_path/Frameworks -Xlinker -object_path_lto -Xlinker /Users/walterflores/Documents/B4iBuildServer/UploadedProjects/<user id>/build/B4iProject.build/Release-iphoneos/B4iProject.build/Objects-normal/arm64/tros.ai_lto.o -Xlinker -no_deduplicate -fobjc-arc -fobjc-link-runtime -ObjC -lCore -framework Foundation -framework CoreGraphics -framework UIKit -liDateUtils -liFirebaseAnalytics -liFirebaseAuth -liHUD -liJSON -liMedia -liNetwork -liPhone -liPoseLandmarker -liSQL -liWebSocket -liFLAnimatedImage -framework AVFoundation -framework FirebaseAnalytics -framework FirebaseCore -framework FirebaseCoreDiagnostics -framework FirebaseInstallations -framework GoogleAppMeasurementIdentitySupport -framework GoogleAppMeasurement -framework GoogleDataTransport -framework GoogleUtilities -framework PromisesObjC -framework nanopb -framework AddressBook -framework SystemConfiguration -framework SafariServices -framework GoogleSignIn -framework GTMSessionFetcher -framework FirebaseAuth -framework AppAuth -framework GTMAppAuth -framework MessageUI -framework CoreMotion -framework MediaPipeTasksVision -framework MediaPipeTasksCommon -lsqlite3 -licucore -framework CFNetwork -framework Security -liXUI -liBitmapCreator -liHttp -liStringUtils -liRandomAccessFile -lxCustomListView -lz -framework MediaPipeTasksVision -framework MediaPipeTasksCommon -liDebug2 -Xlinker -no_adhoc_codesign -Xlinker -dependency_info -Xlinker /Users/walterflores/Documents/B4iBuildServer/UploadedProjects/<user id>/build/B4iProject.build/Release-iphoneos/B4iProject.build/Objects-normal/arm64/tros.ai_dependency_info.dat -o /Users/walterflores/Documents/B4iBuildServer/UploadedProjects/<user id>/Payload/tros.ai.app/tros.ai
ld: warning: Could not find or use auto-linked framework 'CoreAudioTypes'
ld: warning: Could not find or use auto-linked framework 'Symbols'
Undefined symbols for architecture arm64:
"mediapipe::RenderAnnotation* google::protobuf::Arena::CreateMaybeMessage<mediapipe::RenderAnnotation>(google::protobuf::Arena*)", referenced from:
-[MPPRegionOfInterest(Helpers) getRenderDataWithError:] in MediaPipeTasksVision(MPPRegionOfInterest+Helpers.o)
"mediapipe::RenderAnnotation_Point* google::protobuf::Arena::CreateMaybeMessage<mediapipe::RenderAnnotation_Point>(google::protobuf::Arena*)", referenced from:
-[MPPRegionOfInterest(Helpers) getRenderDataWithError:] in MediaPipeTasksVision(MPPRegionOfInterest+Helpers.o)
"mediapipe::RenderAnnotation_Scribble* google::protobuf::Arena::CreateMaybeMessage<mediapipe::RenderAnnotation_Scribble>(google::protobuf::Arena*)", referenced from:
-[MPPRegionOfInterest(Helpers) getRenderDataWithError:] in MediaPipeTasksVision(MPPRegionOfInterest+Helpers.o)
"mediapipe::Color* google::protobuf::Arena::CreateMaybeMessage<mediapipe::Color>(google::protobuf::Arena*)", referenced from:
-[MPPRegionOfInterest(Helpers) getRenderDataWithError:] in MediaPipeTasksVision(MPPRegionOfInterest+Helpers.o)
"mediapipe::tasks::components::processors::proto::EmbedderOptions* google::protobuf::Arena::CreateMaybeMessage<mediapipe::tasks::components::processors::proto::EmbedderOptions>(google::protobuf::Arena*)", referenced from:
-[MPPImageEmbedderOptions(Helpers) copyToProto:] in MediaPipeTasksVision(MPPImageEmbedderOptions+Helpers.o)
"mediapipe::tasks::components::processors::proto::ClassifierOptions* google::protobuf::Arena::CreateMaybeMessage<mediapipe::tasks::components::processors::proto::ClassifierOptions>(google::protobuf::Arena*)", referenced from:
-[MPPGestureRecognizerOptions(Helpers) copyToProto:] in MediaPipeTasksVision(MPPGestureRecognizerOptions+Helpers.o)
-[MPPImageClassifierOptions(Helpers) copyToProto:] in MediaPipeTasksVision(MPPImageClassifierOptions+Helpers.o)
"mediapipe::tasks::vision::face_detector::proto::FaceDetectorGraphOptions* google::protobuf::Arena::CreateMaybeMessage<mediapipe::tasks::vision::face_detector::proto::FaceDetectorGraphOptions>(google::protobuf::Arena*)", referenced from:
-[MPPFaceLandmarkerOptions(Helpers) copyToProto:] in MediaPipeTasksVision(MPPFaceLandmarkerOptions+Helpers.o)
"mediapipe::tasks::vision::hand_detector::proto::HandDetectorGraphOptions* google::protobuf::Arena::CreateMaybeMessage<mediapipe::tasks::vision::hand_detector::proto::HandDetectorGraphOptions>(google::protobuf::Arena*)", referenced from:
-[MPPGestureRecognizerOptions(Helpers) copyToProto:] in MediaPipeTasksVision(MPPGestureRecognizerOptions+Helpers.o)
-[MPPHandLandmarkerOptions(Helpers) copyToProto:] in MediaPipeTasksVision(MPPHandLandmarkerOptions+Helpers.o)
"mediapipe::tasks::vision::pose_detector::proto::poseDetectorGraphOptions* google::protobuf::Arena::CreateMaybeMessage<mediapipe::tasks::vision::pose_detector::proto::poseDetectorGraphOptions>(google::protobuf::Arena*)", referenced from:
-[MPPPoseLandmarkerOptions(Helpers) copyToProto:] in MediaPipeTasksVision(MPPPoseLandmarkerOptions+Helpers.o)
"mediapipe::tasks::vision::face_landmarker::proto::FaceLandmarksDetectorGraphOptions* google::protobuf::Arena::CreateMaybeMessage<mediapipe::tasks::vision::face_landmarker::proto::FaceLandmarksDetectorGraphOptions>(google::protobuf::Arena*)", referenced from:
-[MPPFaceLandmarkerOptions(Helpers) copyToProto:] in MediaPipeTasksVision(MPPFaceLandmarkerOptions+Helpers.o)
"mediapipe::tasks::vision::hand_landmarker::proto::HandLandmarkerGraphOptions* google::protobuf::Arena::CreateMaybeMessage<mediapipe::tasks::vision::hand_landmarker::proto::HandLandmarkerGraphOptions>(google::protobuf::Arena*)", referenced from:
-[MPPGestureRecognizerOptions(Helpers) copyToProto:] in MediaPipeTasksVision(MPPGestureRecognizerOptions+Helpers.o)
"mediapipe::tasks::vision::hand_landmarker::proto::HandLandmarksDetectorGraphOptions* google::protobuf::Arena::CreateMaybeMessage<mediapipe::tasks::vision::hand_landmarker::proto::HandLandmarksDetectorGraphOptions>(google::protobuf::Arena*)", referenced from:
-[MPPGestureRecognizerOptions(Helpers) copyToProto:] in MediaPipeTasksVision(MPPGestureRecognizerOptions+Helpers.o)
-[MPPHandLandmarkerOptions(Helpers) copyToProto:] in MediaPipeTasksVision(MPPHandLandmarkerOptions+Helpers.o)
"mediapipe::tasks::vision::pose_landmarker::proto::poseLandmarksDetectorGraphOptions* google::protobuf::Arena::CreateMaybeMessage<mediapipe::tasks::vision::pose_landmarker::proto::poseLandmarksDetectorGraphOptions>(google::protobuf::Arena*)", referenced from:
-[MPPPoseLandmarkerOptions(Helpers) copyToProto:] in MediaPipeTasksVision(MPPPoseLandmarkerOptions+Helpers.o)
"mediapipe::tasks::vision::gesture_recognizer::proto::GestureClassifierGraphOptions* google::protobuf::Arena::CreateMaybeMessage<mediapipe::tasks::vision::gesture_recognizer::proto::GestureClassifierGraphOptions>(google::protobuf::Arena*)", referenced from:
-[MPPGestureRecognizerOptions(Helpers) copyToProto:] in MediaPipeTasksVision(MPPGestureRecognizerOptions+Helpers.o)
"mediapipe::tasks::vision::gesture_recognizer::proto::HandGestureRecognizerGraphOptions* google::protobuf::Arena::CreateMaybeMessage<mediapipe::tasks::vision::gesture_recognizer::proto::HandGestureRecognizerGraphOptions>(google::protobuf::Arena*)", referenced from:
-[MPPGestureRecognizerOptions(Helpers) copyToProto:] in MediaPipeTasksVision(MPPGestureRecognizerOptions+Helpers.o)
"mediapipe::RenderData::InternalSwap(mediapipe::RenderData*)", referenced from:
mediapipe::RenderData::RenderData(mediapipe::RenderData&&) in MediaPipeTasksVision(MPPVisionPacketCreator.o)
mediapipe::RenderData::RenderData(mediapipe::RenderData&&) in MediaPipeTasksVision(MPPRegionOfInterest+Helpers.o)
"mediapipe::RenderData::CopyFrom(mediapipe::RenderData const&)", referenced from:
mediapipe::RenderData::RenderData(mediapipe::RenderData&&) in MediaPipeTasksVision(MPPVisionPacketCreator.o)
mediapipe::RenderData::RenderData(mediapipe::RenderData&&) in MediaPipeTasksVision(MPPRegionOfInterest+Helpers.o)
"mediapipe::RenderData::RenderData(google::protobuf::Arena*, bool)", referenced from:
mediapipe::packet_internal::InternalMessageRegistrator<mediapipe::RenderData>::Make() in MediaPipeTasksVision(MPPVisionPacketCreator.o)
mediapipe::RenderData::RenderData(mediapipe::RenderData&&) in MediaPipeTasksVision(MPPVisionPacketCreator.o)
std::__1::unique_ptr<mediapipe::packet_internal::HolderBase, std::__1::default_delete<mediapipe::packet_internal::HolderBase> > mediapipe::packet_internal::CreateMessageHolder<mediapipe::RenderData>() in MediaPipeTasksVision(MPPVisionPacketCreator.o)
-[MPPRegionOfInterest(Helpers) getRenderDataWithError:] in MediaPipeTasksVision(MPPRegionOfInterest+Helpers.o)
mediapipe::RenderData::RenderData(mediapipe::RenderData&&) in MediaPipeTasksVision(MPPRegionOfInterest+Helpers.o)
"mediapipe::RenderData::~RenderData()", referenced from:
+[MPPVisionPacketCreator createRenderDataPacketWithRegionOfInterest:error:] in MediaPipeTasksVision(MPPVisionPacketCreator.o)
mediapipe::packet_internal::InternalMessageRegistrator<mediapipe::RenderData>::Make() in MediaPipeTasksVision(MPPVisionPacketCreator.o)
mediapipe::packet_internal::Holder<mediapipe::RenderData>::~Holder() in MediaPipeTasksVision(MPPVisionPacketCreator.o)
-[MPPRegionOfInterest(Helpers) getRenderDataWithError:] in MediaPipeTasksVision(MPPRegionOfInterest+Helpers.o)
"mediapipe::NormalizedRect::InternalSwap(mediapipe::NormalizedRect*)", referenced from:
mediapipe::NormalizedRect::NormalizedRect(mediapipe::NormalizedRect&&) in MediaPipeTasksVision(MPPVisionPacketCreator.o)
mediapipe::NormalizedRect::NormalizedRect(mediapipe::NormalizedRect&&) in MediaPipeTasksVision(MPPVisionTaskRunner.o)
"mediapipe::NormalizedRect::CopyFrom(mediapipe::NormalizedRect const&)", referenced from:
mediapipe::NormalizedRect::NormalizedRect(mediapipe::NormalizedRect&&) in MediaPipeTasksVision(MPPVisionPacketCreator.o)
mediapipe::NormalizedRect::NormalizedRect(mediapipe::NormalizedRect&&) in MediaPipeTasksVision(MPPVisionTaskRunner.o)
"mediapipe::NormalizedRect::NormalizedRect(google::protobuf::Arena*, bool)", referenced from:
mediapipe::packet_internal::InternalMessageRegistrator<mediapipe::NormalizedRect>::Make() in MediaPipeTasksVision(MPPVisionPacketCreator.o)
mediapipe::NormalizedRect::NormalizedRect(mediapipe::NormalizedRect&&) in MediaPipeTasksVision(MPPVisionPacketCreator.o)
std::__1::unique_ptr<mediapipe::packet_internal::HolderBase, std::__1::default_delete<mediapipe::packet_internal::HolderBase> > mediapipe::packet_internal::CreateMessageHolder<mediapipe::NormalizedRect>() in MediaPipeTasksVision(MPPVisionPacketCreator.o)
-[MPPVisionTaskRunner normalizedRectWithRegionOfInterest:imageSize:imageOrientation:error:] in MediaPipeTasksVision(MPPVisionTaskRunner.o)
mediapipe::NormalizedRect::NormalizedRect(mediapipe::NormalizedRect&&) in MediaPipeTasksVision(MPPVisionTaskRunner.o)
"mediapipe::NormalizedRect::~NormalizedRect()", referenced from:
mediapipe::packet_internal::InternalMessageRegistrator<mediapipe::NormalizedRect>::Make() in MediaPipeTasksVision(MPPVisionPacketCreator.o)
mediapipe::packet_internal::Holder<mediapipe::NormalizedRect>::~Holder() in MediaPipeTasksVision(MPPVisionPacketCreator.o)
-[MPPVisionTaskRunner normalizedRectWithRegionOfInterest:imageSize:imageOrientation:error:] in MediaPipeTasksVision(MPPVisionTaskRunner.o)
-[MPPVisionTaskRunner inputPacketMapWithMPPImage:regionOfInterest:error:] in MediaPipeTasksVision(MPPVisionTaskRunner.o)
-[MPPVisionTaskRunner inputPacketMapWithMPPImage:regionOfInterest:timestampInMilliseconds:error:] in MediaPipeTasksVision(MPPVisionTaskRunner.o)
"mediapipe::RenderAnnotation::clear_data()", referenced from:
-[MPPRegionOfInterest(Helpers) getRenderDataWithError:] in MediaPipeTasksVision(MPPRegionOfInterest+Helpers.o)
"mediapipe::_MatrixData_default_instance_", referenced from:
+[MPPFaceLandmarkerResult(Helpers) faceLandmarkerResultWithLandmarksPacket:blendshapesPacket:transformationMatrixesPacket:] in MediaPipeTasksVision(MPPFaceLandmarkerResult+Helpers.o)
"mediapipe::_LocationData_default_instance_", referenced from:
+[MPPDetection(Helpers) detectionWithProto:] in MediaPipeTasksVision(MPPDetection+Helpers.o)
"mediapipe::tasks::components::processors::proto::EmbedderOptions::Clear()", referenced from:
-[MPPImageEmbedderOptions(Helpers) copyToProto:] in MediaPipeTasksVision(MPPImageEmbedderOptions+Helpers.o)
"mediapipe::tasks::components::processors::proto::ClassifierOptions::Clear()", referenced from:
-[MPPClassifierOptions(Helpers) copyToProto:] in MediaPipeTasksVision(MPPClassifierOptions+Helpers.o)
-[MPPImageClassifierOptions(Helpers) copyToProto:] in MediaPipeTasksVision(MPPImageClassifierOptions+Helpers.o)
"mediapipe::tasks::TensorsToSegmentationCalculatorOptions::ext", referenced from:
+[MPPInteractiveSegmenter populateLabelsWithGraphConfig:error:] in MediaPipeTasksVision(MPPInteractiveSegmenter.o)
+[MPPImageSegmenter populateLabelsWithGraphConfig:error:] in MediaPipeTasksVision(MPPImageSegmenter.o)
"mediapipe::tasks::TensorsToSegmentationCalculatorOptions::TensorsToSegmentationCalculatorOptions(mediapipe::tasks::TensorsToSegmentationCalculatorOptions const&)", referenced from:
+[MPPInteractiveSegmenter populateLabelsWithGraphConfig:error:] in MediaPipeTasksVision(MPPInteractiveSegmenter.o)
+[MPPImageSegmenter populateLabelsWithGraphConfig:error:] in MediaPipeTasksVision(MPPImageSegmenter.o)
"mediapipe::tasks::TensorsToSegmentationCalculatorOptions::~TensorsToSegmentationCalculatorOptions()", referenced from:
+[MPPInteractiveSegmenter populateLabelsWithGraphConfig:error:] in MediaPipeTasksVision(MPPInteractiveSegmenter.o)
+[MPPImageSegmenter populateLabelsWithGraphConfig:error:] in MediaPipeTasksVision(MPPImageSegmenter.o)
"mediapipe::tasks::vision::face_detector::proto::FaceDetectorGraphOptions::ext", referenced from:
-[MPPFaceDetectorOptions(Helpers) copyToProto:] in MediaPipeTasksVision(MPPFaceDetectorOptions+Helpers.o)
"mediapipe::tasks::vision::face_detector::proto::FaceDetectorGraphOptions::Clear()", referenced from:
-[MPPFaceDetectorOptions(Helpers) copyToProto:] in MediaPipeTasksVision(MPPFaceDetectorOptions+Helpers.o)
"mediapipe::tasks::vision::face_detector::proto::_FaceDetectorGraphOptions_default_instance_", referenced from:
-[MPPFaceDetectorOptions(Helpers) copyToProto:] in MediaPipeTasksVision(MPPFaceDetectorOptions+Helpers.o)
"mediapipe::tasks::vision::face_stylizer::proto::FaceStylizerGraphOptions::ext", referenced from:
-[MPPFaceStylizerOptions(Helpers) copyToProto:] in MediaPipeTasksVision(MPPFaceStylizerOptions+Helpers.o)
"mediapipe::tasks::vision::face_stylizer::proto::FaceStylizerGraphOptions::Clear()", referenced from:
-[MPPFaceStylizerOptions(Helpers) copyToProto:] in MediaPipeTasksVision(MPPFaceStylizerOptions+Helpers.o)
"mediapipe::tasks::vision::face_stylizer::proto::_FaceStylizerGraphOptions_default_instance_", referenced from:
-[MPPFaceStylizerOptions(Helpers) copyToProto:] in MediaPipeTasksVision(MPPFaceStylizerOptions+Helpers.o)
"mediapipe::tasks::vision::hand_detector::proto::HandDetectorGraphOptions::Clear()", referenced from:
-[MPPGestureRecognizerOptions(Helpers) copyToProto:] in MediaPipeTasksVision(MPPGestureRecognizerOptions+Helpers.o)
"mediapipe::tasks::vision::image_embedder::proto::ImageEmbedderGraphOptions::ext", referenced from:
-[MPPImageEmbedderOptions(Helpers) copyToProto:] in MediaPipeTasksVision(MPPImageEmbedderOptions+Helpers.o)
"mediapipe::tasks::vision::image_embedder::proto::_ImageEmbedderGraphOptions_default_instance_", referenced from:
-[MPPImageEmbedderOptions(Helpers) copyToProto:] in MediaPipeTasksVision(MPPImageEmbedderOptions+Helpers.o)
"mediapipe::tasks::vision::face_landmarker::proto::FaceLandmarkerGraphOptions::ext", referenced from:
-[MPPFaceLandmarkerOptions(Helpers) copyToProto:] in MediaPipeTasksVision(MPPFaceLandmarkerOptions+Helpers.o)
"mediapipe::tasks::vision::face_landmarker::proto::FaceLandmarkerGraphOptions::Clear()", referenced from:
-[MPPFaceLandmarkerOptions(Helpers) copyToProto:] in MediaPipeTasksVision(MPPFaceLandmarkerOptions+Helpers.o)
"mediapipe::tasks::vision::face_landmarker::proto::_FaceLandmarkerGraphOptions_default_instance_", referenced from:
-[MPPFaceLandmarkerOptions(Helpers) copyToProto:] in MediaPipeTasksVision(MPPFaceLandmarkerOptions+Helpers.o)
"mediapipe::tasks::vision::hand_landmarker::proto::HandLandmarkerGraphOptions::ext", referenced from:
-[MPPHandLandmarkerOptions(Helpers) copyToProto:] in MediaPipeTasksVision(MPPHandLandmarkerOptions+Helpers.o)
"mediapipe::tasks::vision::hand_landmarker::proto::HandLandmarkerGraphOptions::Clear()", referenced from:
-[MPPGestureRecognizerOptions(Helpers) copyToProto:] in MediaPipeTasksVision(MPPGestureRecognizerOptions+Helpers.o)
-[MPPHandLandmarkerOptions(Helpers) copyToProto:] in MediaPipeTasksVision(MPPHandLandmarkerOptions+Helpers.o)
"mediapipe::tasks::vision::hand_landmarker::proto::HandLandmarksDetectorGraphOptions::Clear()", referenced from:
-[MPPGestureRecognizerOptions(Helpers) copyToProto:] in MediaPipeTasksVision(MPPGestureRecognizerOptions+Helpers.o)
"mediapipe::tasks::vision::hand_landmarker::proto::_HandLandmarkerGraphOptions_default_instance_", referenced from:
-[MPPHandLandmarkerOptions(Helpers) copyToProto:] in MediaPipeTasksVision(MPPHandLandmarkerOptions+Helpers.o)
"mediapipe::tasks::vision::image_segmenter::proto::ImageSegmenterGraphOptions::ext", referenced from:
-[MPPImageSegmenterOptions(Helpers) copyToProto:] in MediaPipeTasksVision(MPPImageSegmenterOptions+Helpers.o)
-[MPPInteractiveSegmenterOptions(Helpers) copyToProto:] in MediaPipeTasksVision(MPPInteractiveSegmenterOptions+Helpers.o)
"mediapipe::tasks::vision::image_segmenter::proto::ImageSegmenterGraphOptions::Clear()", referenced from:
-[MPPImageSegmenterOptions(Helpers) copyToProto:] in MediaPipeTasksVision(MPPImageSegmenterOptions+Helpers.o)
-[MPPInteractiveSegmenterOptions(Helpers) copyToProto:] in MediaPipeTasksVision(MPPInteractiveSegmenterOptions+Helpers.o)
"mediapipe::tasks::vision::image_segmenter::proto::_ImageSegmenterGraphOptions_default_instance_", referenced from:
-[MPPImageSegmenterOptions(Helpers) copyToProto:] in MediaPipeTasksVision(MPPImageSegmenterOptions+Helpers.o)
-[MPPInteractiveSegmenterOptions(Helpers) copyToProto:] in MediaPipeTasksVision(MPPInteractiveSegmenterOptions+Helpers.o)
"mediapipe::tasks::vision::eek:bject_detector::proto::ObjectDetectorOptions::ext", referenced from:
-[MPPObjectDetectorOptions(Helpers) copyToProto:] in MediaPipeTasksVision(MPPObjectDetectorOptions+Helpers.o)
"mediapipe::tasks::vision::eek:bject_detector::proto::ObjectDetectorOptions::Clear()", referenced from:
-[MPPObjectDetectorOptions(Helpers) copyToProto:] in MediaPipeTasksVision(MPPObjectDetectorOptions+Helpers.o)
"mediapipe::tasks::vision::eek:bject_detector::proto::_ObjectDetectorOptions_default_instance_", referenced from:
-[MPPObjectDetectorOptions(Helpers) copyToProto:] in MediaPipeTasksVision(MPPObjectDetectorOptions+Helpers.o)
"mediapipe::tasks::vision::pose_landmarker::proto::poseLandmarkerGraphOptions::ext", referenced from:
-[MPPPoseLandmarkerOptions(Helpers) copyToProto:] in MediaPipeTasksVision(MPPPoseLandmarkerOptions+Helpers.o)
"mediapipe::tasks::vision::pose_landmarker::proto::poseLandmarkerGraphOptions::Clear()", referenced from:
-[MPPPoseLandmarkerOptions(Helpers) copyToProto:] in MediaPipeTasksVision(MPPPoseLandmarkerOptions+Helpers.o)
"mediapipe::tasks::vision::pose_landmarker::proto::_PoseLandmarkerGraphOptions_default_instance_", referenced from:
-[MPPPoseLandmarkerOptions(Helpers) copyToProto:] in MediaPipeTasksVision(MPPPoseLandmarkerOptions+Helpers.o)
"mediapipe::tasks::vision::image_classifier::proto::ImageClassifierGraphOptions::ext", referenced from:
-[MPPImageClassifierOptions(Helpers) copyToProto:] in MediaPipeTasksVision(MPPImageClassifierOptions+Helpers.o)
"mediapipe::tasks::vision::image_classifier::proto::_ImageClassifierGraphOptions_default_instance_", referenced from:
-[MPPImageClassifierOptions(Helpers) copyToProto:] in MediaPipeTasksVision(MPPImageClassifierOptions+Helpers.o)
"mediapipe::tasks::vision::gesture_recognizer::proto::GestureClassifierGraphOptions::Clear()", referenced from:
-[MPPGestureRecognizerOptions(Helpers) copyToProto:] in MediaPipeTasksVision(MPPGestureRecognizerOptions+Helpers.o)
"mediapipe::tasks::vision::gesture_recognizer::proto::GestureRecognizerGraphOptions::ext", referenced from:
-[MPPGestureRecognizerOptions(Helpers) copyToProto:] in MediaPipeTasksVision(MPPGestureRecognizerOptions+Helpers.o)
"mediapipe::tasks::vision::gesture_recognizer::proto::GestureRecognizerGraphOptions::Clear()", referenced from:
-[MPPGestureRecognizerOptions(Helpers) copyToProto:] in MediaPipeTasksVision(MPPGestureRecognizerOptions+Helpers.o)
"mediapipe::tasks::vision::gesture_recognizer::proto::_GestureRecognizerGraphOptions_default_instance_", referenced from:
-[MPPGestureRecognizerOptions(Helpers) copyToProto:] in MediaPipeTasksVision(MPPGestureRecognizerOptions+Helpers.o)
"typeinfo for mediapipe::RenderData", referenced from:
std::type_info const& mediapipe::TypeId::GetTypeInfo<mediapipe::RenderData>() in MediaPipeTasksVision(MPPVisionPacketCreator.o)
"typeinfo for mediapipe::NormalizedRect", referenced from:
std::type_info const& mediapipe::TypeId::GetTypeInfo<mediapipe::NormalizedRect>() in MediaPipeTasksVision(MPPVisionPacketCreator.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

ProcessInfoPlistFile /Users/walterflores/Documents/B4iBuildServer/UploadedProjects/<user id>/Payload/tros.ai.app/Info.plist /Users/walterflores/Documents/B4iBuildServer/UploadedProjects/<user id>/B4iProject/B4iProject-Info.plist (in target 'B4iProject' from project 'B4iProject')
cd /Users/walterflores/Documents/B4iBuildServer/UploadedProjects/<user id>
builtin-infoPlistUtility /Users/walterflores/Documents/B4iBuildServer/UploadedProjects/<user id>/B4iProject/B4iProject-Info.plist -producttype com.apple.product-type.application -genpkginfo /Users/walterflores/Documents/B4iBuildServer/UploadedProjects/<user id>/Payload/tros.ai.app/PkgInfo -expandbuildsettings -format binary -platform iphoneos -additionalcontentfile /Users/walterflores/Documents/B4iBuildServer/UploadedProjects/<user id>/build/B4iProject.build/Release-iphoneos/B4iProject.build/LaunchScreen-SBPartialInfo.plist -additionalcontentfile /Users/walterflores/Documents/B4iBuildServer/UploadedProjects/<user id>/build/B4iProject.build/Release-iphoneos/B4iProject.build/assetcatalog_generated_info.plist -requiredArchitecture arm64 -o /Users/walterflores/Documents/B4iBuildServer/UploadedProjects/<user id>/Payload/tros.ai.app/Info.plist
/Users/walterflores/Documents/B4iBuildServer/UploadedProjects/<user id>/B4iProject.xcodeproj: warning: User-supplied CFBundleIdentifier value '<user id>.strom.ergo' in the Info.plist must be the same as the PRODUCT_BUNDLE_IDENTIFIER build setting value ''. (in target 'B4iProject' from project 'B4iProject')


Error: ** BUILD FAILED **

I have been burning the candle at both ends for almost a week now and can't seem to get this to work, I know you're a busy person but will really appreciate it if I could get some more tips here, I have also created a job post but unfortunately have not gotten any responses, I realize wrapping B4i libraries is a bit more cumbersome than Android libs, I need to get this working or I will loose a client, I really thought it wouldn't be too difficult to wrap this library since I already wrapped the Android one.

Thanks Erel, and anyone else who may have some more insight about why I get the errors I am getting.

Walter
 
Upvote 0

walterf25

Expert
Licensed User
Longtime User
I think that you are missing protobuf. Check the library documentation. The dependencies should be listed there.
Just built the ProtocolBuffers library and added it to the Libs folder of my local builder but I still see the same errors.

This is very frustrating.
 
Upvote 0
Top