On Aug 25, 2010, at 3:27 AM, Ken Thomases wrote: On Aug 24, 2010, at 3:53 PM, Eric Gorr wrote: So, I want to set the SDKROOT to be the 10.6 SDK and the Deployment Target to be Mac OS X 10.5.
However, I think I must be missing something. When I build a library with these settings and then use nm to see what symbols are in the library, nm will correctly output the symbols under 10.6, but not under 10.5.
Show the commands Xcode is using to build your library.
There is a sample project at:
which reproduces the part of the problem where nm returns an error under 10.5, but not 10.6. That error again is:
nm: object: /Volumes/Glamdring/Users/egorr/Desktop/SDKROOT/build/Debug/SDKROOTLib.bundle/Contents/MacOS/SDKROOTLib malformed object (unknown load command 4)
Under, 10.6, nm correctly returns:
~ $nm /Volumes/Glamdring/Users/egorr/Desktop/SDKROOT/build/Debug/SDKROOTLib.bundle/Contents/MacOS/SDKROOTLib 00000e4e T __Z17PluginLibraryMainl 00000e40 t __dyld_func_lookup 00000000 t __mh_bundle_header 00000e1c t dyld_stub_binding_helper
It seems to me that nm should be returning the same results under both 10.5 and 10.6. Is this not correct?
I have not been able to reproduce(yet) the other part of the problem where
functionPtr = CFBundleGetFunctionPointerForName( bundleLibrary, CFSTR( "plugin_main" ) );
returns NULL, but I am still working on it.
|