I was going to mention that writing to a log file is always an available option, but then I saw that Ixrec explained why that's not a great option.
It's not all that hard to open the log-file, but doing so in a platform-agnostic way is probably impossible (unless you're not supporting Linux). The basic idea would be executing a command (as system() does, though that's not the way I'd recommend doing it). On Windows it would be "notepad errorlog.txt", on Mac you'd run "open -a TextEdit errorlog.txt" (though this isn't working when I try it for some reason), and on Linux... well, I doubt you can assume any specific text editor is installed, unfortunately.
The proper way to execute a command is the exec* family of functions on Mac and Linux (execlp is probably the simplest choice in this situation). On Windows I think there's an equivalent (maybe something like ExecuteProcess?), but I'm not sure what it is.
If you prefer actual popup dialogs, the equivalent of MessageBox on Mac appears to be CFUserNotification, though it looks rather more complicated. On Linux, perhaps Zenity would work (in which case you'd probably call it with execlp); I'm not sure if there's a system call that makes a popup dialog.