Darn linker errors XCode 4.3--algorithm to solve them? - xcode

Undefined symbols for architecture i386:
"_OBJC_CLASS_$_AppDelegate_Shared", referenced from:
_OBJC_CLASS_$_AppDelegate_iPad in AppDelegate_iPad.o
"_OBJC_METACLASS_$_AppDelegate_Shared", referenced from:
_OBJC_METACLASS_$_AppDelegate_iPad in AppDelegate_iPad.o ld: symbol(s) not found for architecture i386 clang: error: linker command
failed with exit code 1 (use -v to see invocation)
Hello, this is a straight up AppDelegate, and I'm getting this error. Any ideas? There's no library to link to or anything. I've seen these errors time and time again in XCode, but the causes have ranged from a libxml2 library being not right (needed libxml2.7.3), to just something odd in XCode itself. No idea what to do next, but obviously would like the program to compile. Thanks!

same here. thanks for the answer.
I had just (literally 30 seconds ago) dragged the files in.
I used the same files in other projects no problem.
got this linker error (updated to XCode 4.3 yesterday)
and same problem, the .m file was checked for the Test target membership, but NOT the app target.
possibly a 4.3 bug. it seems it is defaulting to adding dragged in files to the test build and not the app build.
thanks... you helped me find it very fast. I was not looking forward to that.

Related

Xcode build failure due to Undefined symbol: __swift_FORCE_LOAD_$_swiftFileProvider

Building failed with Xcode 13beta for React Native 0.64.2 project. It is on macOS Big Sur. The detail of error is:
Undefined symbols for architecture x86_64:
"__swift_FORCE_LOAD_$_swiftFileProvider", referenced from:
__swift_FORCE_LOAD_$_swiftFileProvider_$_YogaKit in libYogaKit.a(YGLayoutExtensions.o)
(maybe you meant: __swift_FORCE_LOAD_$_swiftFileProvider_$_YogaKit)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
What configuration change is needed to eliminate the error?
Create an empty swift file (####.swift) from Xcode in the main project which located Appdelegate.h file. This worked for my React Native project after Xcode version 13 update.
Try creating a new Swift empty file (it's not necessary to create a Bridging Header).
Adding libswiftWebKit.tbd into Link Binary With Libraries build phase in XCode helped to solve the problem:
enter image description here

xcode 10.1 Undefined symbols for architecture arm64

I already gone so many SO threads with similar issue but none of them seems to resolve my error.
In our project we have multiple "TARGETS". Only one of the target - the very first target created ever - is archiving properly. When I try to archive other target we encounter this error
Undefined symbols for architecture arm64:
"_OBJC_CLASS_$_DynamicEventData", referenced from:
objc-class-ref in DataManager.o
objc-class-ref in DataReader.o
"_OBJC_CLASS_$_DynamicDataService", referenced from:
objc-class-ref in DataManager.o
"_OBJC_CLASS_$_DynamicDataConfig", referenced from:
objc-class-ref in DataManager.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
I did compare the Build Setting of the working target to the other targets but all of them are equal. I checked the header files and they exists in our project directory. I tried to manually add the header files' path to Header Search Paths but same result still getting the error.
Any idea? I really need to resolve this to export an ipa file.
Thanks!
I scan manually check the Build Phases > Link Binary With Libraries of the working target vs the defected targets. I found a one framework/library that was only added to the working target the said framework isn't manage by pod that may explain why the other target doesn't have it. I think it was added manually in the project.
I add the said framework to all targets and now I can build without the said error.
Thanks!
I encountered the same problem and the solution I found is so simple (man....).
Search in the project for the classes that are mentioned in the error.
Go to the "File Inspector" and simply check V for the rest of the targets in the "Targets Membership".
That's it! It took me Two Hours (wasted time) to find out.
Hope my solution will save time for anyone with similar problem.

Weird errors in Xcode 7.3 while using Cocopoads

I get bunch od warnings but these errors are main problem:
Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_FDataSnapshot", referenced from:
type metadata accessor for __ObjC.FDataSnapshot in MapVC.o
"_OBJC_CLASS_$_Firebase", referenced from:
type metadata accessor for __ObjC.Firebase in DataService.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
What's going on?
UPDATE:
So error pops out when I use simulator on my mac, but when I use my iPhone as simulator everything is fine. Anybody knows why?
Okay this will maybe help someone so I'm posting an answer.
I noticed in my terminal
Re-creating CocoaPods due to major version update.
So that obviously messed up my code. Just delete Pods folder, workspaces and run pod install
Everything works now.
could you not also run
pod update
then you dont have to delete the pod folder and workspaces..

Unity project. Undefined symbols for architecture armv7

I make a build for iPhone for the first time and got a problem.
I already checked a lot of posts and didnt find answer.
When i make a build on device a get:
Undefined symbols for architecture armv7:
"RegisterAllStrippedInternalCalls()", referenced from:
RegisterAllInternalCalls() in libiPhone-lib.a(MonoICallRegistration.o)
"RegisterAllClasses()", referenced from:
InitializeEngineNoGraphics() in libiPhone-lib.a(SaveAndLoadHelper.o)
"RegisterMonoModules()", referenced from:
_main in main.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
On simulator ok.
libiPhone-lib.a added to link libraries.
Can somebody tell what it is? Please
Your unity version is not compatible, just download the latest version of unity which I believe is 4.3.1 and try recompiling. Here is the link if you need it. http://unity3d.com/unity/download/download-mac
The new version is compatible with armv7.
ok if anyone else is experiencing the same problem here's a way out:
those 3 methods mentioned are declared in the RegisterMonoModules.cpp in the Libraries folder, usually. so take that cpp file and add it to your target's Build Phases > Compile Sources
then if you have additional SDK's integrated that are not added to the 'Compile Sources' the new build will throw some other errors. just make sure to add the wrapper .mm files from the sdk's to your Compile Sources. Usually one .mm file per sdk. (e.g. for unity facebook sdk it's FbUnityInterface.mm file)
hope this helps

XCode file not compiling

I'm getting the following two errors via xcode:
Warning: no rule to process file '$(PROJECT_DIR)/SQLite Toolbox/en.lproj/MainWindowController.m' of type file for architecture x86_64
Followed by:
Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_MainWindowController", referenced from:
objc-class-ref in AppDelegate.o
ld: symbol(s) not found for architecture x86_64
Previously my project was building just fine, but I attempted to do some localization. I had my MainWindowController.xib highlighted and choose the localize option.
After that, the project stopped compiling. It looks to me that for some reason XCode is refusing to compile my MainWindowController.m, but i'm not sure how to go about fixing that. (I have confirmed it does exist in the Build Phase Compile Source steps.
Any ideas on how I could fix this?
That sounds as if you inadvertently have localized the "MainWindowController.m" file.
The following steps worked in my test project to fix that situation:
Remove "MainWindowController.m" from your project (using the "Remove Reference" option!)
In the Finder, move "MainWindowController.m" from the "en.lproj" folder back to the main folder.
Drag "MainWindowController.m" onto the Xcode project to add it again.

Resources