• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
"Bundle Loader" setting vs. Obj-C stripped executable
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

"Bundle Loader" setting vs. Obj-C stripped executable


  • Subject: "Bundle Loader" setting vs. Obj-C stripped executable
  • From: Jerry Krinock <email@hidden>
  • Date: Tue, 5 Feb 2008 14:15:01 -0800

My application package includes a Loadable Bundle. Because this bundle references three Objective-C classes in the main app's executable, I have defined the build setting

Bundle Loader = $(BUILD_DIR)/$(CONFIGURATION)/MainApp.app/ Contents/MacOS/MainApp

(Note I have set a common Build Directory for all of my dependent projects.)

Due to the $(CONFIGURATION), you see that it looks for symbols in the MainApp executable with the corresponding configuration. I have had intermittent trouble with this. Most of the time, it worked, even on the stripped Release-configuration executable. I reasoned that it was worked because the only references are to three Objective-C classes and their methods, and Objective-C class and method names are not stripped even in a "stripped" executable.

Until today. Building the Release configuration of my Loadable Bundle fails repeatedly, as Ld complains of three "Undefined Symbols" that are defined in the Main App executable:

".objc_class_name_NonhierarchicalStore"
".objc_class_name_Store"
".objc_class_name_Browfile"

Now, I have three configurations...

Release:           fails as described above
ReleaseUnstripped: works OK
Debug:             works OK

ReleaseUnstripped is just what it implies; the same as Release except not stripped. Apparently, the stripping is causing the problem.

Which is correct ??
(a) My reasoning that Bundle Loader should work on a stripped executable if it
only needs Obj-C classes and methods,
or (b) The failures that I am seeing today


If these failures are expected, what is the normal workaround? Everything (link, run, load bundle) works OK if I change the Bundle Loader setting in the Loadable Bundle's Release configuration to the ReleaseUnstripped Main executable. But this seems fragile, kludgey, and maybe even dangerous. Is there a better way?

Thanks,

Jerry Krinock
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden


  • Prev by Date: Re: Xcode eats 100% CPU and more while typing
  • Next by Date: Re: Xcode eats 100% CPU and more while typing
  • Previous by thread: Re: Xcode 3.0 syntax color problem
  • Next by thread: Binding radio buttons to ShareUserPreferences disables it
  • Index(es):
    • Date
    • Thread