Re: coremidi & codewarrior
Re: coremidi & codewarrior
- Subject: Re: coremidi & codewarrior
- From: Herbie Robinson <email@hidden>
- Date: Tue, 26 Feb 2002 02:22:11 -0500
I have also now sucesfully ported my MIDI application to OS X as a Mach-O
target under CodeWarrior 7.2.
The catches along the way were:
(1) I used CodeWarrior's built-in tool to convert my Carbon target to Mach-O
(Convert Target to Mach-O under File menu). Somehow in this process things
got a bit messed up (possibly my fault) and I think I ended up with an
executable having no resource fork.
That's what is supposed to happen.
This resulted in a crash that
CodeWarrior did not trap. Instead my application appeared to just quit
cleanly. I could step in the debugger but if I stepped to far I had to
start over. I finally isolated this to some constructor which I had trouble
stepping into - perhaps I needed to turn inlining off. In any case I
noticed something was wierd when the Mach-O executable had the same name as
my Carbon Executable (!) in the same folder, and this was because it was
being created as a package folder with an invisible .app extension.
I resolved this tentatively by getting rid of the packaging entirely since I
was confused by it and it seemed extraneous. It took a while to figure out
how to do this since it involved changing options in several different
target preference panels, but I ended up with a working Mach-O executable
with a resource fork and no package.
If I had to guess, I would say you needed to fill in some of the
Info.plist stuff for the new bundle scheme. In particular, all the
information about what kinds of files you use has to be in a new form
(I think it was in the info.plist).
When the application quits the OS produces the
message "The application ... has unexpectedly quit." When I run under the
CodeWarrior debugger this message does not occur. When I run under gdb, the
message does not occur, but gdb reports "Program exited with code 0110."
Any clues about this? (Maybe this belongs on a different mailing list, but
it also fits in with the content of the "coremidi & codewarrior" thread.)
This probably means the program faulted or possibly something called
exit with an error code. Hopefully, you can get a backtrace out of
gdb after this happens. If not, you will have to step through the
quit.
Also, I am curious how ProjectBuilder might compare to CodeWarrior in these
areas:
* in catching all exceptions correctly in the debugger instead of having the
"suddenly disappearing application" syndrome
It uses gdb, too (but I think gdb does let you do this somehow).
The CodeWarrior compiler is about 20 times faster then GCC (that's
compile time, not speed of generated code).
GCC doesn't support #pragma once.
Also is there any easy way to convert a large project from CodeWarrior to
ProjectBuilder?
It has an import functions for Code Warrior projects. If all the
files are in the same place, it'll probably work OK. I moved things
around and then tried an import and it doesn't have any clever way to
move files. I think both can co-exist in the same directories;
although, I am not having Code Warrior build MACH-O executables.
--
-*****************************************
**
http://www.curbside-recording.com/ **
******************************************
_______________________________________________
coreaudio-api mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/coreaudio-api
Do not post admin requests to the list. They will be ignored.