Sign in to follow this  
Charabis

SDL_Mixer and Mac

Recommended Posts

Getting a rather odd error. This is my first DAY using XCode, so pardon me in advance if I've done something really stupid [grin] Everything seems to be in properly. It compiles and begins to run, however it's only a few seconds before it tells me
ZeroLink: unknown symbol '_Mix_OpenAudio'

Tringus has exited due to signal 6 (SIGABRT).
Oddly, when I go into the project settings, I find the Zero Link checkbox is UNCHECKED. Either I'm missing something really obvious, or I have a lot more to learn. Probly both [razz]

Share this post


Link to post
Share on other sites
Now that I'm actually awake and alert, it didn't take long for me to answer my own question [grin]. Here's the info in case anyone else hits this snag:

Quote:

ZeroLink speeds application development time by eliminating the link process from development builds. Instead, Xcode generates an application stub that contains the full paths to the object files that make up the application. At runtime, each object (.o) file is linked as it’s needed. This works only when running your application within Xcode. You cannot deploy applications using ZeroLink.

To turn ZeroLink on or off, use the ZeroLink (ZERO_LINK) build setting. ZeroLink is enabled by default in the Debug build configuration. If you build with this build configuration, you automatically get ZeroLink functionality. See "Overview of Build Configurations" for more information on using build configurations; for a description of how to modify build settings, see "Editing Build Settings in the Xcode Application". ZeroLink works only for native targets.
ZeroLink doesn’t support the use of private external symbols, that is, symbols declared as __private_extern__.

Private external symbols are visible only to other modules within the same Mach-O file as the modules that contain them. If you use a private external symbol in your project while ZeroLink is turned on, you get an unknown-symbol error when your code tries to access it. For example, if you have the definition __private_extern__ int my_extern = 800; in a source file and the declaration extern int my_extern; in another source file, when the second module accesses my_extern, your application exits with the following log output:

ZeroLink: unknown symbol '_my_extern'

MyApplication has exited due to signal 6 (SIGABRT)


For more information on private external symbols, see “Scope and Treatment of Symbol Definitions” in Executing Mach-O Files in Mac OS X ABI Mach-O File Format Reference.


Guess unchecking the box does nothing under the circumstances. Need to change build types [razz]. And my custom cursor doesn't work on the Mac, but that much I can live with. [smile]

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this