# How do I let Mac users play my game? Dependencies?

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

## Recommended Posts

Hi everyone, I'm sorry if this has been answered but I figured I'd just ask here in case it hasn't.

I have a game made with C++ called Stick Knights. It is cross-platform and is currently working on Windows and Linux.

Windows

The installer (made with AdvancedInstaller Free) copies the files to the hard drive

The dependencies (libpng, SDL, SDL_image, pthread, etc.) are in the data folder as .dll files

Linux

The installer (install.sh bash shell script) copies files to the hard drive

The user is expected to get dependencies themselves (apt-get or yum install, etc.)

Mac OSX

The Mac installer would copy the files onto the hard drive

The dependencies, what do I do about these?

I can't expect Mac users to install the dependencies themselves, and there aren't .dll files on a mac, right? (.so files?)

I am new to mac development. When the dependencies are installed command line, the code compiles and runs fine. But how do I ensure the end-user won't have to worry about a thing?

Note: the SDL license prevents me from statically compiling, so I NEED TO use dynamic libraries.

Thank you for the help!

pi

##### Share on other sites

I'd recommend you make a proper installer for Linux as well, Linux users shouldn't be expected to download dependencies themselves(Its not the 90s anymore, Linux users aren't necessarily expert users these days and it will probably take longer to answer a single support request than it takes to make a proper installer), (

Making a .rpm or .deb installer is not difficult and makes things alot easier for the end-user, (+ , you can use an apt link on your website for .deb packages to let the user install directly from their browser).

For debian/dpkg based distros (Ubuntu, Mint etc) read this: http://www.webupd8.org/2010/01/how-to-create-deb-package-ubuntu-debian.html

For redhat/rpm based distros(Redhat, Fedora, SUSE, etc), read this :http://fedoraproject.org/wiki/How_to_create_an_RPM_package

Edited by SimonForsman

##### Share on other sites

On OS X, shared libraries have the extension .dylib (they function the same as .dll and .so files, more or less). However, applications on OS X work a bit differently than they do on Windows and Linux. OS X heavily uses bundles. A bundle is essentially a folder that's treated in a special way (so it's not treated like a normal folder). An OS X application is a folder that has a .app extension, and then has a special structure inside of the folder that organizes the executable, configuration files, dependencies, etc. It's actually kind of nice, because you can move the bundle around and all of the configuration files and dependencies move with it. The "uninstall" process is just deleting the bundle, because it contains everything inside it (and the typical "install" process is just copying the bundle into your Applications folder (or wherever you want it "installed")).

Typically, you would put dependencies (like .dylibs you need) inside your bundle. Alternatively, you can make a package (.pkg) installer that installs the dependencies into the system (and not put them inside of your application bundle). If you do this, it's nice to provide an uninstaller to clean up the files you put on the filesystem.

##### Share on other sites

Thanks for the help.

As for linux installers, so far an .AUR package exists for Arch Linux. But I want the game to be more stable and full of content before trying to get it into any repositories.

I will look into making .deb .rpm etc soon. Thanks!

As for mac, it sounds really complicated but I guess I will try best I can. I will let you guys know if it works or if I need help. Thank you very much.

pi

• 35
• 12
• 10
• 9
• 9
• ### Forum Statistics

• Total Topics
631355
• Total Posts
2999521
×