Archive for the 'C' Category
Doxygen on Snow Leopard
If installing doxygen from macports doesn’t work for you, you’ll have to build doxygen from source. Unfortunately you’ll get an error when building doxygen as well: “error This version of Mac OS X is unsupported”.
The fix is fairly straightforward:
-Download doxygen src
-Edit the file src/qglobal.h
-Find line 73 (we’re changing a chunk from this line)
Change this:
#if defined(__APPLE__) || defined(macintosh) #define _OS_MAC_ # ifdef MAC_OS_X_VERSION_MIN_REQUIRED # undef MAC_OS_X_VERSION_MIN_REQUIRED # endif # define MAC_OS_X_VERSION_MIN_REQUIRED MAC_OS_X_VERSION_10_3 # include <AvailabilityMacros.h> # if !defined(MAC_OS_X_VERSION_10_3) # define MAC_OS_X_VERSION_10_3 MAC_OS_X_VERSION_10_2 + 1 # endif # if !defined(MAC_OS_X_VERSION_10_4) # define MAC_OS_X_VERSION_10_4 MAC_OS_X_VERSION_10_3 + 1 # endif # if !defined(MAC_OS_X_VERSION_10_5) # define MAC_OS_X_VERSION_10_5 MAC_OS_X_VERSION_10_4 + 1 # endif # if (MAC_OS_X_VERSION_MAX_ALLOWED > MAC_OS_X_VERSION_10_5) # error "This version of Mac OS X is unsupported" # endif #elif defined(MSDOS) || defined(_MSDOS) || defined(__MSDOS__)
To this:
#if defined(__APPLE__) || defined(macintosh) #define _OS_MAC_ # ifdef MAC_OS_X_VERSION_MIN_REQUIRED # undef MAC_OS_X_VERSION_MIN_REQUIRED # endif # define MAC_OS_X_VERSION_MIN_REQUIRED MAC_OS_X_VERSION_10_3 # include <AvailabilityMacros.h> # if !defined(MAC_OS_X_VERSION_10_3) # define MAC_OS_X_VERSION_10_3 MAC_OS_X_VERSION_10_2 + 1 # endif # if !defined(MAC_OS_X_VERSION_10_4) # define MAC_OS_X_VERSION_10_4 MAC_OS_X_VERSION_10_3 + 1 # endif # if !defined(MAC_OS_X_VERSION_10_5) # define MAC_OS_X_VERSION_10_5 MAC_OS_X_VERSION_10_4 + 1 # endif # if !defined(MAC_OS_X_VERSION_10_6) # define MAC_OS_X_VERSION_10_6 MAC_OS_X_VERSION_10_5 + 1 # endif # if (MAC_OS_X_VERSION_MAX_ALLOWED > MAC_OS_X_VERSION_10_6) # error "This version of Mac OS X is unsupported" # endif #elif defined(MSDOS) || defined(_MSDOS) || defined(__MSDOS__)
All we did was add in a definition for 10.6.
Now run the install:
./configure make sudo make install
Apple System Log Cocoa Wrapper
Here’s a quick apple system log cocoa wrapper. Open the terminal, and type “man asl,” asl is the wrapper around syslog - which seems to be the first syslog for apple. The Console app (/Applications/Utilities/Console) shows all messages sent through asl.
Here’s a link to the files:
GDASLLog.h
GDASLLog.m
GDASLLogManager.h
GDASLLogManager.m
And here’s how you want to use it:
GDASLLog * log = [[GDASLLog alloc] initWithSender:@"MyAppName" facility:@"com.codeendeavor.MyAppName" connectsImmediately:TRUE]; //optionally set the file to write to. You'll still see logs in Console if you don't set this, //but this way you can get the log file if needed. [log setLogFile:@"/Library/Logs/MyApp"]; [log info:@"HELLO WORLD"];
And there’s a manager to hold references to your logs:
GDASLLogManager * gdLogMan = [GDASLLogManager sharedInstance]; [gdLogMan setLog:log forKey:@"logID"]; //GDASLLog * log = [gdLogMan getLogForKey:@"logID"];
I’ve been using this in an app to log some problems that were happening on another computer. I don’t leave these in when it’s ready to go. This just simplifies writing out some logs.
Enjoy.
1 comment