• 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
Re: Problem compiling on Panther then running on Jaguar
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Problem compiling on Panther then running on Jaguar


  • Subject: Re: Problem compiling on Panther then running on Jaguar
  • From: Eric Albert <email@hidden>
  • Date: Thu, 27 Nov 2003 14:18:12 -0800

At 4:44 PM +0200 11/27/03, Jeff Schneiderman wrote:
I've got a Cocoa app which is compiled in Xcode 1.0.1. It calls CGSetLocalEventsFilterDuringSupressionState() from the ApplicationServices framework. The project was originally built in and ran fine in Jaguar. I'm now building using the same code with Xcode in Panther (10.3.1). It builds and runs fine in Panther, but on Jaguar (10.2.8) it crashes. The console log shows the following error message:

dyld: Undefined symbols: undefined reference to _CGSetLocalEventsFilterDuringSuppressionState expected to be defined in ApplicationServices

If I comment out the call to CGSetLocalEventsFilterDuringSupressionState, the rest of the app runs fine including calls to CGSetLocalEventsSuppressionInterval and CGEnableEventStateCombining.

Is there any significance in the dyld message spelling _CGSetLocalEventsFilterDuringSuppressionState (two "p"s) when the function name is documented and used as CGSetLocalEventsFilterDuringSupressionState?

Yep. On Panther, CGRemoteOperation declares CGSetLocalEventsFilterDuringSuppressionState (two 'p's) and #define's the one-p version to the two-p version. So when you compile your code against a Panther system, the preprocessor sees the #define and changes your code to use the two-p version, which your code then links against. When you go to run your application on Jaguar, it fails because the two-p version doesn't exist there.


You can work around this in one of three ways:
1) Build your application on Jaguar.
2) Build your application on Panther, but use the 10.2.7 SDK.
3) #undef CGSetLocalEventsFilterDuringSupressionState after you #include CGRemoteOperation.h, and add a declaration for the one-p version after the #undef.


Hope this helps,
Eric
_______________________________________________
xcode-users mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/xcode-users
Do not post admin requests to the list. They will be ignored.

References: 
 >Problem compiling on Panther then running on Jaguar (From: Jeff Schneiderman <email@hidden>)

  • Prev by Date: Help with JVM on Panther
  • Next by Date: XCode or CodeWarrior 9
  • Previous by thread: Problem compiling on Panther then running on Jaguar
  • Next by thread: Framework Install Location
  • Index(es):
    • Date
    • Thread