Jump to content
  • Advertisement
Sign in to follow this  

SDL_Mixer and Mac

This topic is 4294 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

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:


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
Sign in to follow this  

  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!