Archived

This forum has been archived. Please start a new discussion on GitHub.

xcode: symbols missing when linking

even after copying all of your hello-examples settings, setting the build-script (the one for the simulator-dynamic-libraries), i get the following error on xcode.
your example compiles without problems, so the plugin should be working.
Ld build/navcore-bedienung.build/Release-iphoneos/navcore-bedienung.build/Objects-normal/armv6/navcore-bedienung normal armv6
cd /Users/uid04100/Documents/navcore-bedienung
setenv IPHONEOS_DEPLOYMENT_TARGET 2.0
setenv PATH "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2 -arch armv6 -isysroot /var/folders/GM/GMzVFCBdG5miyi7-c7zXlU+++TM/-Caches-/com.apple.Xcode.502/CompositeSDKs/iphoneos-iPhoneOS3.1.2-hfabjuefudvsntggzfeabbarmwcf -L/Users//Documents/navcore-bedienung/build/Release-iphoneos -L/opt/Ice-3.4/lib -F/Users//Documents/navcore-bedienung/build/Release-iphoneos -filelist /Users//Documents/navcore-bedienung/build/navcore-bedienung.build/Release-iphoneos/navcore-bedienung.build/Objects-normal/armv6/navcore-bedienung.LinkFileList -dead_strip -lGlacier2Objc -miphoneos-version-min=2.0 -framework Foundation -framework UIKit -framework CoreGraphics -framework Security -framework CFNetwork -o /Users//Documents/navcore-bedienung/build/navcore-bedienung.build/Release-iphoneos/navcore-bedienung.build/Objects-normal/armv6/navcore-bedienung

Undefined symbols:
  "_OBJC_CLASS_$_ICEOperationNotExistException", referenced from:
      objc-class-ref-to-ICEOperationNotExistException in Nav.o
  "_OBJC_CLASS_$_ICEUtil", referenced from:
      objc-class-ref-to-ICEUtil in Navcore_bedienungViewController.o
  "_OBJC_METACLASS_$_ICEEnumHelper", referenced from:
      _OBJC_METACLASS_$_RpcInterfacePositionTypeHelper in Nav.o
      _OBJC_METACLASS_$_RpcInterfacePictogramIDHelper in Nav.o
      _OBJC_METACLASS_$_RpcInterfaceStyleIDHelper in Nav.o
      _OBJC_METACLASS_$_RpcInterfaceScreenIDHelper in Nav.o
  "_OBJC_METACLASS_$_ICEObject", referenced from:
      _OBJC_METACLASS_$_RpcInterfaceNavGuidance in Nav.o
      _OBJC_METACLASS_$_RpcInterfaceNavGuidanceCallback in Nav.o
      _OBJC_METACLASS_$_RpcInterfaceNavWM in Nav.o
  "_OBJC_EHTYPE_$_ICEUserException", referenced from:
      _RpcInterfaceNavGuidance_ids__ in Nav.o
  "_OBJC_METACLASS_$_ICEObjectPrx", referenced from:
      _OBJC_METACLASS_$_RpcInterfaceNavGuidancePrx in Nav.o
      _OBJC_METACLASS_$_RpcInterfaceNavGuidanceCallbackPrx in Nav.o
      _OBJC_METACLASS_$_RpcInterfaceNavWMPrx in Nav.o
  "_OBJC_CLASS_$_ICEInitializationData", referenced from:
      objc-class-ref-to-ICEInitializationData in Navcore_bedienungViewController.o
  "_OBJC_CLASS_$_ICEObject", referenced from:
      _OBJC_CLASS_$_RpcInterfaceNavGuidance in Nav.o
      _OBJC_CLASS_$_RpcInterfaceNavGuidanceCallback in Nav.o
      _OBJC_CLASS_$_RpcInterfaceNavWM in Nav.o
      objc-class-ref-to-ICEObject in Nav.o
  "_ICEInternalLookupString", referenced from:
      -[RpcInterfaceNavGuidance dispatch__:is:os:] in Nav.o
      -[RpcInterfaceNavGuidanceCallback dispatch__:is:os:] in Nav.o
      -[RpcInterfaceNavWM dispatch__:is:os:] in Nav.o
  "_OBJC_EHTYPE_$_ICELocalException", referenced from:
      __data@0 in Navcore_bedienungViewController.o
  "_OBJC_CLASS_$_ICEUnknownUserException", referenced from:
      objc-class-ref-to-ICEUnknownUserException in Nav.o
  "_OBJC_CLASS_$_ICEObjectPrx", referenced from:
      _OBJC_CLASS_$_RpcInterfaceNavGuidancePrx in Nav.o
      _OBJC_CLASS_$_RpcInterfaceNavGuidanceCallbackPrx in Nav.o
      _OBJC_CLASS_$_RpcInterfaceNavWMPrx in Nav.o
  "_ICEInternalCheckModeAndSelector", referenced from:
      +[RpcInterfaceNavGuidance getDestination___:current:is:os:] in Nav.o
      +[RpcInterfaceNavGuidance getPosition___:current:is:os:] in Nav.o
      +[RpcInterfaceNavGuidance addWaypoint___:current:is:os:] in Nav.o
      +[RpcInterfaceNavGuidance startGuidance___:current:is:os:] in Nav.o
      +[RpcInterfaceNavGuidance setMute___:current:is:os:] in Nav.o
      +[RpcInterfaceNavGuidance getGuidanceInfos___:current:is:os:] in Nav.o
      +[RpcInterfaceNavGuidance getCurrentRoad___:current:is:os:] in Nav.o
      +[RpcInterfaceNavGuidanceCallback guidanceTalking___:current:is:os:] in Nav.o
      +[RpcInterfaceNavWM setStyle___:current:is:os:] in Nav.o
      +[RpcInterfaceNavWM setVisibleScreen___:current:is:os:] in Nav.o
      +[RpcInterfaceNavGuidance setGuidanceCallback___:current:is:os:] in Nav.o
  "_OBJC_CLASS_$_ICEEnumHelper", referenced from:
      _OBJC_CLASS_$_RpcInterfacePositionTypeHelper in Nav.o
      _OBJC_CLASS_$_RpcInterfacePictogramIDHelper in Nav.o
      _OBJC_CLASS_$_RpcInterfaceStyleIDHelper in Nav.o
      _OBJC_CLASS_$_RpcInterfaceScreenIDHelper in Nav.o
ld: symbol(s) not found
collect2: ld returned 1 exit status


the nav.ice is valid, it is directly from the developer, i am doing the interface to.

so, do you have any idea, what it could be ?

Comments

  • as your wish was, i updated the information and you wanted to give me some help ?
  • benoit
    benoit Rennes, France
    Hi,

    Can you confirm that you installed Ice Touch 1.0 using the installer?

    It sounds like the "Additional SDKs" setting for your target is missing (I don't see the -lIceObjC library added to the linker flags).

    Can you check that the "Additional SDKs" field is set to "/Developer/SDKs/IceTouch-1.0/$(PLATFORM_NAME).sdk" in your target properties? To access the target properties, in the "Targets" group, right click on the your target and select "Get Info".

    How to setup the project is also documented in the first few minutes of the Ice Touch introduction webcast here. You'll also find information on the setup of the project in the RELEASE_NOTES file installed in /Developer/Documentation/IceTouch-1.0/RELEASE_NOTES

    Cheers,
    Benoit.
  • benoit wrote: »
    Hi,

    Can you confirm that you installed Ice Touch 1.0 using the installer?
    yes..

    It sounds like the "Additional SDKs" setting for your target is missing (I don't see the -lIceObjC library added to the linker flags).
    it was missing, but adding didn't help either..

    Can you check that the "Additional SDKs" field is set to "/Developer/SDKs/IceTouch-1.0/$(PLATFORM_NAME).sdk" in your target properties? To access the target properties, in the "Targets" group, right click on the your target and select "Get Info".
    didn't help either..

    How to setup the project is also documented in the first few minutes of the Ice Touch introduction webcast here.
    some comment on your webcasts:
    it is hard to see a difference between I and l in the font used. on the other hand after some webcasts i believe, that you do different settings in different webcasts, so figuring out the right settings is not so easy
    You'll also find information on the setup of the project in the RELEASE_NOTES file installed in /Developer/Documentation/IceTouch-1.0/RELEASE_NOTES

    Cheers,
    Benoit.


    after adding and doing the things you wanted me to do, the output looks quiet similar then before. no changes.
    i'm just wondering, why your example works and mine not.
  • benoit
    benoit Rennes, France
    Hi,

    Hmm, did you set it for "All Configurations"? I can't think of any other settings which would be missing :(

    Btw, why does -L/opt/Ice-3.4/lib shows up in the linker command? Did you add it to the "Other Linker Flags" settings? This shouldn't be necessary.

    Can you specify which versions of Xcode and the iPhone SDK you are using?

    The best way to figure this out would be to post your sample project here in a zip file (or if you prefer you can also send it to me directly at benoit@zeroc.com). I'll be happy to take a look at it to try to find what is causing this linker error.

    Cheers,
    Benoit.