[launchd-dev] XCode 3.0. Unresolved externals
Quinn
eskimo1 at apple.com
Mon Jul 21 08:03:00 PDT 2008
At 15:18 +0300 21/7/08, Vyacheslav Karamov wrote:
>I've "solved" :((((((((( this problem by changing "Target OS" from 10.4
>to 10.5.
>Why? Why I have to?
This is because of a bug in the 10.4 SDK. In that SDK the "launch.h"
file does not include the necessary stuff to prevent C++ name
mangling of the launchd functions (the __BEGIN_DECLS and __END_DECLS
macros). Thus, when you include the file from a C++ program, the
names get mangled and the linker can't find them in the System
framework.
This bug is fixed in the 10.5 SDK. It's unlikely to ever be fixed in
the 10.4 SDK because the 10.4 SDK is deliberately designed to reflect
the state of the system at the time when 10.4 was released.
You may be able to work around this problem by changing:
#include <launch.h>
to:
extern "C" {
#include <launch.h>
};
S+E
--
Quinn "The Eskimo!" <http://www.apple.com/developer/>
Apple Developer Relations, Developer Technical Support, Core OS/Hardware
More information about the launchd-dev
mailing list