61315 / mediapipe-prebuilt

Prebuilt mediapipe packages and demos ready to deploy on your device at one go. 💨
MIT License
32 stars 9 forks source link

Undefined symbol: _OBJC_CLASS_$_MPPBPose #6

Closed eiudng closed 1 year ago

eiudng commented 1 year ago

hi, on macOS12 ,the version of Xcode is 14.2,when i built the mppb-ios-pose.xcodeproj,always got this error: Undefined symbol: _OBJCCLASS$_MPPBPose ? in fact,MPPBPose.framework was used in this project. why??

61315 commented 1 year ago

I was unable to reproduce the error. I upgraded my Xcode version from 13.4.1 to 14.2, just to make sure, but the build still works fine. Please try the example project as-is and attach the build log if possible. One thing to remember: use the git cli to clone the project rather than the browser download interface.

eiudng commented 1 year ago

I was unable to reproduce the error. I upgraded my Xcode version from 13.4.1 to 14.2, just to make sure, but the build still works fine. Please try the example project as-is and attach the build log if possible. One thing to remember: use the git cli to clone the project rather than the browser download interface. I followed the steps: 1 git clone https://github.com/61315/mediapipe-prebuilt.git 2 using Xcode opened one of the examples project file:mppb-ios-pose.xcodeproj 3 Firstly Clear Build Folder ,then Clicked on the "black triangle" then the message of ld error came out.

61315 commented 1 year ago

Would you care to share the entire build log? You can use the Xcode report navigator.

jrYXi

eiudng commented 1 year ago

Would you care to share the entire build log? You can use the Xcode report navigator.

jrYXi

Thank u very much; Below is the entire build log: Ld /Users/johnsontin/Library/Developer/Xcode/DerivedData/mppb-ios-pose-frgmogzlxgiphcgtzifkmoazepjv/Build/Products/Debug-iphonesimulator/mppb-ios-pose.app/mppb-ios-pose normal (in target 'mppb-ios-pose' from project 'mppb-ios-pose') cd /Users/johnsontin/projects/mediapipe-prebuilt/examples/ios/pose /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -target x86_64-apple-ios13.0-simulator -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator16.2.sdk -L/Users/johnsontin/Library/Developer/Xcode/DerivedData/mppb-ios-pose-frgmogzlxgiphcgtzifkmoazepjv/Build/Intermediates.noindex/EagerLinkingTBDs -L/Users/johnsontin/Library/Developer/Xcode/DerivedData/mppb-ios-pose-frgmogzlxgiphcgtzifkmoazepjv/Build/Products/Debug-iphonesimulator -F/Users/johnsontin/Library/Developer/Xcode/DerivedData/mppb-ios-pose-frgmogzlxgiphcgtzifkmoazepjv/Build/Intermediates.noindex/EagerLinkingTBDs -F/Users/johnsontin/Library/Developer/Xcode/DerivedData/mppb-ios-pose-frgmogzlxgiphcgtzifkmoazepjv/Build/Products/Debug-iphonesimulator -F/Users/johnsontin/projects/mediapipe-prebuilt/examples/ios/pose -filelist /Users/johnsontin/Library/Developer/Xcode/DerivedData/mppb-ios-pose-frgmogzlxgiphcgtzifkmoazepjv/Build/Intermediates.noindex/mppb-ios-pose.build/Debug-iphonesimulator/mppb-ios-pose.build/Objects-normal/x86_64/mppb-ios-pose.LinkFileList -Xlinker -rpath -Xlinker /usr/lib/swift -Xlinker -rpath -Xlinker @executable_path/Frameworks -dead_strip -Xlinker -object_path_lto -Xlinker /Users/johnsontin/Library/Developer/Xcode/DerivedData/mppb-ios-pose-frgmogzlxgiphcgtzifkmoazepjv/Build/Intermediates.noindex/mppb-ios-pose.build/Debug-iphonesimulator/mppb-ios-pose.build/Objects-normal/x86_64/mppb-ios-pose_lto.o -Xlinker -export_dynamic -Xlinker -objc_abi_version -Xlinker 2 -fobjc-link-runtime -L/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphonesimulator -L/usr/lib/swift -Xlinker -add_ast_path -Xlinker /Users/johnsontin/Library/Developer/Xcode/DerivedData/mppb-ios-pose-frgmogzlxgiphcgtzifkmoazepjv/Build/Intermediates.noindex/mppb-ios-pose.build/Debug-iphonesimulator/mppb-ios-pose.build/Objects-normal/x86_64/mppb_ios_pose.swiftmodule -Xlinker -sectcreate -Xlinker TEXT -Xlinker entitlements -Xlinker /Users/johnsontin/Library/Developer/Xcode/DerivedData/mppb-ios-pose-frgmogzlxgiphcgtzifkmoazepjv/Build/Intermediates.noindex/mppb-ios-pose.build/Debug-iphonesimulator/mppb-ios-pose.build/mppb-ios-pose.app-Simulated.xcent -Xlinker -sectcreate -Xlinker TEXT -Xlinker ents_der -Xlinker /Users/johnsontin/Library/Developer/Xcode/DerivedData/mppb-ios-pose-frgmogzlxgiphcgtzifkmoazepjv/Build/Intermediates.noindex/mppb-ios-pose.build/Debug-iphonesimulator/mppb-ios-pose.build/mppb-ios-pose.app-Simulated.xcent.der -lc++ -framework MPPBPose -Xlinker -no_adhoc_codesign -Xlinker -dependency_info -Xlinker /Users/johnsontin/Library/Developer/Xcode/DerivedData/mppb-ios-pose-frgmogzlxgiphcgtzifkmoazepjv/Build/Intermediates.noindex/mppb-ios-pose.build/Debug-iphonesimulator/mppb-ios-pose.build/Objects-normal/x86_64/mppb-ios-pose_dependency_info.dat -o /Users/johnsontin/Library/Developer/Xcode/DerivedData/mppb-ios-pose-frgmogzlxgiphcgtzifkmoazepjv/Build/Products/Debug-iphonesimulator/mppb-ios-pose.app/mppb-ios-pose

ld: warning: ignoring file /Users/johnsontin/projects/mediapipe-prebuilt/examples/ios/pose/MPPBPose.framework/MPPBPose, building for iOS Simulator-x86_64 but attempting to link with file built for iOS-arm64 Undefined symbols for architecture x86_64: "_OBJCCLASS$_MPPBPose", referenced from: objc-class-ref in ViewController.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

61315 commented 1 year ago

I see you are building the example app for the iOS simulator on an Intel-based macOS host. Try connect any physical device to your host machine and change the deployment target to your device, not the simulator.

If running the sample app on the iOS simulator is your intended use, then create a new issue to request the addition of an x86_64 target for the prebuilt framework packages.

NOTE: iOS Simulator does not support cameras. There should be an interface to load video files instead of the camera feed, I think.

eiudng commented 1 year ago

I see you are building the example app for the iOS simulator on an Intel-based macOS host. Try connect any physical device to your host machine and change the deployment target to your device, not the simulator.

If running the sample app on the iOS simulator is your intended use, then create a new issue to request the addition of an x86_64 target for the prebuilt framework packages.

NOTE: iOS Simulator does not support cameras. There should be an interface to load video files instead of the camera feed, I think.

thanks, I have successfully compiled the framework (successfully called by app) by the way, but failed to compile the objc_library( the *.a couldnt be called by app)