I am getting below warning
ld: warning: ignoring file [path]/libMAKit.a, missing required architecture i386 in file Undefined symbols for architecture i386:
"_OBJC_CLASS_$_MAViewController", referenced from: _OBJC_CLASS_$_AnalysisViewController in AnalysisViewController.o
"_OBJC_CLASS_$_MAChartView", referenced from: objc-class-ref in AnalysisViewController.o
"_OBJC_CLASS_$_MAKitTheme_WelterWeightDark", referenced from: objc-class-ref in AnalysisViewController.o
"_OBJC_METACLASS_$_MAViewController", referenced from: _OBJC_METACLASS_$_AnalysisViewController in AnalysisViewController.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Looks like libMAKit.a not have simulator (i386) architecture, if you have source you can rebuild it but frequently third party libs ships without i386 architecture and can be usable only on real device
Try to find some missing files (red letters) like images. We spend most of one day just to figure it out that I didn't had all the images locally. (Sorry if it's bad english)
Related
ld: warning: ignoring file /Users/CNS/Downloads/Demo Source Code 2/iOS/TYCommonLic_Demo/TYCommonLic_Demo/libTYCommonLib.a, missing required architecture x86_64 in file /Users/CNS/Downloads/Demo Source Code 2/iOS/TYCommonLic_Demo/TYCommonLic_Demo/libTYCommonLib.a (2 slices)
Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_SalesSlipModel", referenced from:
objc-class-ref in ViewController.o
"_OBJC_CLASS_$_TYSwiperController", 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)
getting this error. please help how to resolve it?
You need to link m file :
Finally found the answer. In your target settings, locate build phases and navigate to compile sources. Once there just ad the .m file that is getting the error to the list.
I have the following compile error when try to create and initialize an object in Data parser class. The code is
Component *component=[[Component alloc] initWithInputComObjects:inputComObjects withOutputComObjects:outputComObjects];
where initWithInputComObjects:inputComObjects:withOutputComObjects:outputComObjects is a method inside the .m file in the library
ld: warning: directory not found for option '-L/Users/admin/Desktop/KNXComfort/Pods/build/Debug-iphoneos'
ld: warning: ignoring file /Users/admin/Desktop/KNXComfort/KNXComfort/libKNXCommuncationLib.a, missing required architecture i386 in file /Users/admin/Desktop/KNXComfort/KNXComfort/libKNXCommuncationLib.a (3 slices)
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_Channel", referenced from:
objc-class-ref in DataParser.o
"_OBJC_CLASS_$_ComObject", referenced from:
objc-class-ref in DataParser.o
"_OBJC_CLASS_$_Component", referenced from:
objc-class-ref in DataParser.o
"_OBJC_CLASS_$_Device", referenced from:
objc-class-ref in DataParser.o
(maybe you meant: _OBJC_CLASS_$_DevicesCollectionViewController, _OBJC_CLASS_$_DevicesCollectionViewCell )
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Undefined symbols for architecture i386
You are trying to build for the i386 processor but the library you are trying to use wasn't built to support that architecture.
You either need to remove i386 from your build (build for a device) or rebuild the library to include support for i386.
I have run chart boost demo which have been provided at chart boost site.
It shows error like below,
ld: warning: ignoring file /Users/jeganselvaraj/Unity3D/SlotMachine_IOS/Libraries/libChartboost.a, missing required architecture i386 in file /Users/jeganselvaraj/Unity3D/SlotMachine_IOS/Libraries/libChartboost.a (2 slices)
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_CBAnalytics", referenced from:
objc-class-ref in ChartBoostBinding.o
"_OBJC_CLASS_$_Chartboost", referenced from:
objc-class-ref in ChartBoostBinding.o
objc-class-ref in ChartBoostManager.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
What can I do for this issue?
Seems like there is no libChartboost.a in your Xcode project's Libraries folder.
You need to ensure that file libChartboost.a is in directory Assets/Plugins/iOS. All files from Assets/Plugins/iOS are copied to the Xcode project automatically during Unity's build process. Note that subdirectories within Assets/Plugins/iOS are not considered.
I'm using xcode 5. I just got some errors saying:
ld: warning: ignoring file /Users/wog-khatzpetalio/Desktop/LiveGateApp/NoInterfaceBuilder/LiveGate/Parse.framework/Parse, missing required architecture x86_64 in file /Users/wog-khatzpetalio/Desktop/LiveGateApp/NoInterfaceBuilder/LiveGate/Parse.framework/Parse (3 slices)
Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_PFObject", referenced from:
objc-class-ref in LiveGate.o
"_OBJC_CLASS_$_PFQuery", referenced from:
objc-class-ref in LiveGate.o
"_OBJC_CLASS_$_Parse", referenced from:
objc-class-ref in AppDelegate.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
My App is working in all simulator except for iPhone 64 bit.
What should be the possible cause of this error?
Change your architectures into this one
It means you do not have the Parse library properly included in your project. It's possible that something is preventing it from linking, say if the parse library did not support armv64 and you were using the default set of architectures in your project.
I need some assistance. I added Parse SDK and it works fine during testing. When I attempt to build it, it gives me four 'Apple Mach-O Linker' errors:
ld: warning: ignoring file
/Users/Amirhosein/Downloads/ParsePlatform-PushTutorial-63133fb/iOS/Parse.framework/Parse,
missing required architecture arm64 in file
/Users/Amirhosein/Downloads/ParsePlatform-PushTutorial-63133fb/iOS/Parse.framework/Parse
(3 slices) Undefined symbols for architecture arm64:
"_OBJC_CLASS_$_PFPush", referenced from:
objc-class-ref in AppDelegate.o "_OBJC_CLASS_$_PFInstallation", referenced from:
objc-class-ref in AppDelegate.o "_OBJC_CLASS_$_Parse", referenced from:
objc-class-ref in AppDelegate.o ld: symbol(s) not found for architecture arm64 clang: error: linker command failed with exit code
1 (use -v to see invocation)
It sounds as if your library is not built for 64-bit iOS but you're trying to use that setting for your app. Try removing arm64 from the architecture entry in your build settings.
Cleaning the code and then building again solve the problem for me!