Now my code is filled with #ifdef __APPLE__ ... #endif
I look professional!
Of course, some of it is pretty ugly
#ifdef __APPLE__
#define Point OSX_Point
#include <CoreFoundation/CoreFoundation.h>
#undef Point
#endif
damn generic named classes conflicting with my own
On a second note, am I gonna have to worry about this when I build in windows? Is it guaranteed to open in the directory the exe is in or do I have to do some win32 magic to find the folders I bundle with it
What I do is I have an "InternalPath()" function. I give it a filename (or, well, a snprintf specification for a filename) and it returns the corresponding file from my Resources folder.
On the Mac build, this function calls all the funny CFUrl stuff.
On the Windows and Linux builds, this function just prepends "./Internal" to the file name (and my makefile copies the files that would have been in the Resources folder in os x into a folder in the same dir as the exe named "Internal").
This seems to work well.
EDIT: Sorry, I think I misunderstood the question. In all of my experience windows sets the working directory to be the directory of the .exe, unless you set it to something else with like a special shortcut.