This article is from the Mac Programming FAQ, by Jon Watte firstname.lastname@example.org with numerous contributions by others.
Start by writing a .h file describing the interface. Remember to
declare the Pascal functions "pascal". Build a library with Think Pascal
and convert it with oConv.
Do you get link errors on symbols defined in your Pascal lib? Check the
Do you get errors on symbols like LMUL and LDIV? Those functions are
defined in the Think Pascal library Runtime.lib or uRuntime.lib. Include
uRuntime.lib and try again.
Do you get link errors on standard symbols like thePort? This is due to
bad capitalization in Symantec's libs. Run oConv with .v checked. This
will create a TEXT file with a .v extension. Open that with a text
editor and correct the capitalization. Run oConv again, with .v checked
this time too.
Do you still get errors on standard symbols? Are you using Think
C/Symantec C++ version 6 or higher? Then you must open the library (after
converting it) from Think C version 5, and remove the unit named
%_TOOLBOX. (If I'm not mistaken, this is the toolbox init unit, which
you won't need anyway.)