libmms linking error - objective-c

i have downoaded the wunder radio project, i have copy the MMS project in my workspace.
if i try to use mms_connect Xcode4 give me this error:
Ld
/Users/Alex/Library/Developer/Xcode/DerivedData/test1-gevnovbiecnctxguaabsznvdybxa/Build/Products/Debug-iphonesimulator/test1.app/test1
normal i386
cd /Users/Alex/Source/test1
setenv MACOSX_DEPLOYMENT_TARGET 10.6
setenv PATH
"/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/llvm-gcc-4.2
-arch i386 -isysroot
/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk
-L/Users/Alex/Library/Developer/Xcode/DerivedData/test1-gevnovbiecnctxguaabsznvdybxa/Build/Products/Debug-iphonesimulator
-F/Users/Alex/Library/Developer/Xcode/DerivedData/test1-gevnovbiecnctxguaabsznvdybxa/Build/Products/Debug-iphonesimulator
-filelist
/Users/Alex/Library/Developer/Xcode/DerivedData/test1-gevnovbiecnctxguaabsznvdybxa/Build/Intermediates/test1.build/Debug-iphonesimulator/test1.build/Objects-normal/i386/test1.LinkFileList
-mmacosx-version-min=10.6 -Xlinker -objc_abi_version -Xlinker 2 -lz.1
-framework UIKit -framework Foundation -framework CoreGraphics -o
/Users/Alex/Library/Developer/Xcode/DerivedData/test1-gevnovbiecnctxguaabsznvdybxa/Build/Products/Debug-iphonesimulator/test1.app/test1
Undefined symbols for architecture i386: "_mms_connect", referenced
from:
-[test1AppDelegate application:didFinishLaunchingWithOptions:]
in test1AppDelegate.o ld: symbol(s) not found for architecture i386
collect2: ld returned 1 exit status
have any idea to resolve it?

It looks like the linker is failing to link to libmms because it is of the wrong architecture. The project you are building appears to be for the iPhone simulator. Since the simulator runs on your computer it's architecture is i386 (or perhaps x86_64 depending upon the machine you are using). So basically you are compiling using i386 but when the linker tried to link to libmms it did not find that libmms had been compiled using the same architecture.
Since iOS devices use armv6 or armv7 architectures and the simulator uses i386, it can be quite difficult to switch back and forth between building for the actual device or building for the simulator since any external static libraries need to be built for all 3 architectures.
You'll likely need to rebuild libmms using the i386 architecture.

Related

Xcode 4.3.3 - Error Undefined Symbols

hy all,
I am building an application to create a simple tableview, with a search bar on top to search between the elements of the table.
I have followed a tutorial and no coding errors were found, but when building, it always fails showing the following message:
Ld /Users/gouyoun/Library/Developer/Xcode/DerivedData/ERCDictionnary-atjolczeormaykcscwvnhlxdcnvk/Build/Products/Debug-iphonesimulator/ERCDictionnary.app/ERCDictionnary normal i386
cd /Users/gouyoun/Desktop/ERCDictionnary/ERCDictionnary
setenv MACOSX_DEPLOYMENT_TARGET 10.6
setenv PATH "/Volumes/Xcode/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Volumes/Xcode/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Volumes/Xcode/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch i386 -isysroot /Volumes/Xcode/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.1.sdk -L/Users/gouyoun/Library/Developer/Xcode/DerivedData/ERCDictionnary-atjolczeormaykcscwvnhlxdcnvk/Build/Products/Debug-iphonesimulator -F/Users/gouyoun/Library/Developer/Xcode/DerivedData/ERCDictionnary-atjolczeormaykcscwvnhlxdcnvk/Build/Products/Debug-iphonesimulator -filelist /Users/gouyoun/Library/Developer/Xcode/DerivedData/ERCDictionnary-atjolczeormaykcscwvnhlxdcnvk/Build/Intermediates/ERCDictionnary.build/Debug-iphonesimulator/ERCDictionnary.build/Objects-normal/i386/ERCDictionnary.LinkFileList -mmacosx-version-min=10.6 -Xlinker -objc_abi_version -Xlinker 2 -fobjc-arc -Xlinker -no_implicit_dylibs -D__IPHONE_OS_VERSION_MIN_REQUIRED=50100 -framework UIKit -framework Foundation -framework CoreGraphics -o /Users/gouyoun/Library/Developer/Xcode/DerivedData/ERCDictionnary-atjolczeormaykcscwvnhlxdcnvk/Build/Products/Debug-iphonesimulator/ERCDictionnary.app/ERCDictionnary
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_OverlayViewController", referenced from:
objc-class-ref in tableView.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
"_OBJC_CLASS_$_OverlayViewController", referenced from:
objc-class-ref in tableView.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
I'm a newb in OBjective C, any ideas?
Your tableView class refers to a class called OverlayViewController which is not in your project.
Its done, it only needed to remove the files and re-add them later, it worked like a charm
I've had the exact same error. It occured because I had 2 xCode Projects open, an Dragged & Dropped a class from one project to the other one. I checked "Copy to project" and the files where in the new projects folder. But it crashed every time.
I deleted the classes and IMPORTED them into the project and then it worked... So be careful when using Drag'n'Drop!

need assistance with basic objective-c build error

I have no experience at all at objective-c, only now started.
A developer I work with had to go abroad for a few days, and by mistake left an error in the code, and now I cannot compile an Iphone application to finish it...
I got some information from him by mail, and he told me that he left a library that is called dialog and that I need to remove it to make it work...
The thing is that I have no experience in objective-c and Xcode... i'm the web developer :)
i tried to run the project, and got this error:
Build target mormar
Ld
/Users/yanivshimony/Library/Developer/Xcode/DerivedData/mormar-cxfykryhzfovlbgtsjfowgleiyxu/Build/Products/Debug-iphonesimulator/mormar.app/mormar
normal i386
cd /Users/yanivshimony/Desktop/mormar
setenv MACOSX_DEPLOYMENT_TARGET 10.6
setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
-arch i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk
-L/Users/yanivshimony/Library/Developer/Xcode/DerivedData/mormar-cxfykryhzfovlbgtsjfowgleiyxu/Build/Products/Debug-iphonesimulator
-F/Users/yanivshimony/Library/Developer/Xcode/DerivedData/mormar-cxfykryhzfovlbgtsjfowgleiyxu/Build/Products/Debug-iphonesimulator
-filelist /Users/yanivshimony/Library/Developer/Xcode/DerivedData/mormar-cxfykryhzfovlbgtsjfowgleiyxu/Build/Intermediates/mormar.build/Debug-iphonesimulator/mormar.build/Objects-normal/i386/mormar.LinkFileList
-mmacosx-version-min=10.6 -Xlinker -objc_abi_version -Xlinker 2 -fobjc-arc -Xlinker -no_implicit_dylibs -D__IPHONE_OS_VERSION_MIN_REQUIRED=40300 -framework UIKit -framework Foundation -framework CoreGraphics -o
/Users/yanivshimony/Library/Developer/Xcode/DerivedData/mormar-cxfykryhzfovlbgtsjfowgleiyxu/Build/Products/Debug-iphonesimulator/mormar.app/mormar
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_CATransition", referenced from:
objc-class-ref in LoadingView.o "_kCATransitionFade", referenced from:
+[LoadingView loadingViewInView:] in LoadingView.o
-[LoadingView removeView] in LoadingView.o ld: symbol(s) not found for architecture i386 clang: error: linker command failed with
exit code 1 (use -v to see invocation)
after googling this for a while, I still have no idea how to solve this...
I would greatly appreciate any help,
thanks!
You need to link against QuartzCore.
Click on your project name in the Xcode sidebar. Then click on your target, and in the Summary tab find the list of linked frameworks and libraries. Click the plus button below this list, and add QuartzCore.
You need QuartzCore framework. Add it to your project (through project setting's "Link binary" build phase). Add the #import <QuartzCore/QuartzCore.h> to project's prefix header (usually Prefix.pch or {ProjectName}-Prefix.pch). This should solve the problem without removal of this library.

mach_star framework XCode linking problems

I'm trying to build the DisposeWindow+Beep_Injector example project here: https://github.com/rentzsch/mach_star and am having trouble getting the framework it comes bundled with(mach_inject_bundle) linked to the application project correctly.
Here's the error I get:
Ld build/Development/DisposeWindow+Beep.bundle/Contents/MacOS/DisposeWindow+Beep normal x86_64
cd /Users/me/repos/mach_star/DisposeWindow+Beep
/Developer/usr/bin/llvm-gcc-4.2 -arch x86_64 -bundle -L/Users/me/repos/mach_star/DisposeWindow+Beep/build/Development -F/Users/me/repos/mach_star/DisposeWindow+Beep/build/Development -filelist /Users/me/repos/mach_star/DisposeWindow+Beep/build/DisposeWindow+Beep.build/Development/DisposeWindow+Beep.build/Objects-normal/x86_64/DisposeWindow+Beep.LinkFileList -framework Carbon -framework AudioToolbox -o /Users/me/repos/mach_star/DisposeWindow+Beep/build/Development/DisposeWindow+Beep.bundle/Contents/MacOS/DisposeWindow+Beep
Undefined symbols for architecture x86_64:
"_mach_override", referenced from:
_load in DisposeWindow+Beep.o
(maybe you meant: _mach_override_ptr)
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
All the individual projects build fine but I can't build the parent project...
Here's a screenshot of what all the configs look like: http://i.imgur.com/vaLTu.png
Any ideas?
There is no mach_override, there is only a mach_override_ptr. You have to use that function.

Apple Mach-o linke(Id) error undefined symbols for architecture i386 AppDelegate.o

Hi I have been having this problem for a very long time and its driving me insane.
Ld /Users/soc/Library/Developer/Xcode/DerivedData/friendSpotted-dohwbjpnqfiztkcphlehsjqjusjk/Build/Products/Debug-iphonesimulator/friendSpotted.app/friendSpotted normal i386
cd /Users/soc/Desktop/friendSpotted
setenv MACOSX_DEPLOYMENT_TARGET 10.6
setenv PATH "/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/clang -arch i386 -isysroot /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk -L/Users/soc/Library/Developer/Xcode/DerivedData/friendSpotted-dohwbjpnqfiztkcphlehsjqjusjk/Build/Products/Debug-iphonesimulator -F/Users/soc/Library/Developer/Xcode/DerivedData/friendSpotted-dohwbjpnqfiztkcphlehsjqjusjk/Build/Products/Debug-iphonesimulator -filelist /Users/soc/Library/Developer/Xcode/DerivedData/friendSpotted-dohwbjpnqfiztkcphlehsjqjusjk/Build/Intermediates/friendSpotted.build/Debug-iphonesimulator/friendSpotted.build/Objects-normal/i386/friendSpotted.LinkFileList -mmacosx-version-min=10.6 -Xlinker -objc_abi_version -Xlinker 2 -Xlinker -no_implicit_dylibs -D__IPHONE_OS_VERSION_MIN_REQUIRED=50000 -framework MobileCoreServices -framework UIKit -framework Foundation -framework CoreGraphics -o /Users/soc/Library/Developer/Xcode/DerivedData/friendSpotted-dohwbjpnqfiztkcphlehsjqjusjk/Build/Products/Debug-iphonesimulator/friendSpotted.app/friendSpotted
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_ViewController", referenced from:
objc-class-ref in AppDelegate.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
This has literally put me at a dead end, and I have tried some solutions on this site to no avail. I have checked the viewController.m to see if it was targeting the right project which it was, and as far as I can see I have all the right frameworks added. See below:
http://imgur.com/AeLny
Please I really do need help with this, I will greatly appreciate it.

Location Manager with iMac

I am using CLLocationManager.
I got this compile error:
Ld /Users/Teguh/Library/Developer/Xcode/DerivedData/BadgerNew-bjopcgcgsjkcvcevflfbvsjwfgnu/Build/Products/Debug-iphonesimulator/BadgerNew.app/BadgerNew normal i386
cd /Users/Teguh/Dropbox/badgers/BadgerNew
setenv MACOSX_DEPLOYMENT_TARGET 10.6
setenv PATH "/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/llvm-g++-4.2 -arch i386 -isysroot /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk -L/Users/Teguh/Library/Developer/Xcode/DerivedData/BadgerNew-bjopcgcgsjkcvcevflfbvsjwfgnu/Build/Products/Debug-iphonesimulator -F/Users/Teguh/Library/Developer/Xcode/DerivedData/BadgerNew-bjopcgcgsjkcvcevflfbvsjwfgnu/Build/Products/Debug-iphonesimulator -filelist /Users/Teguh/Library/Developer/Xcode/DerivedData/BadgerNew-bjopcgcgsjkcvcevflfbvsjwfgnu/Build/Intermediates/BadgerNew.build/Debug-iphonesimulator/BadgerNew.build/Objects-normal/i386/BadgerNew.LinkFileList -mmacosx-version-min=10.6 -Xlinker -objc_abi_version -Xlinker 2 -framework UIKit -framework Foundation -framework CoreGraphics -framework CoreData -o /Users/Teguh/Library/Developer/Xcode/DerivedData/BadgerNew-bjopcgcgsjkcvcevflfbvsjwfgnu/Build/Products/Debug-iphonesimulator/BadgerNew.app/BadgerNew
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_CLLocationManager", referenced from:
objc-class-ref in UtilitiesQuick.o
"_kCLLocationAccuracyBest", referenced from:
-[BNUtilitiesQuick init] in UtilitiesQuick.o
ld: symbol(s) not found for architecture i386
collect2: ld returned 1 exit status
So how am I supposed to program CLLocationmanager? I mean does that mean location manager is not available on iMac?
You need to add CoreLocation.framework to your project.
I got the same issue.. after a long struggle I found the issue..
I resolved it this way..
Go to Build Settings
Search for 'framework search path'
And delete the pre filled path.
Now it works perfectly.. I have given the answer in this question.. hope it helps some one..