Linking object files (*.obj) into Turbo Pascal v7.0 DOS

I've run into a problem linking some object files into a piece of
sotware that I'm writing in Turbo Pascal. The object files were
originally created using Borland's Turbo C++. Theoretically I should
be able to import them into my Pascal source using the $L compiler
directive and, for 3 of the 6 object files, this appears to be true.
The other 3 files, however, all generate the same compiler error #51
which is explained as follows:

  | Invalid PUBLIC definition |

 Here are some possible sources of this error:

  _ The identifier was made public through a
    PUBLIC directive in assembly language, but
    it has no matching EXTERN declaration in
    the Pascal program or unit.

  _ Two or more PUBLIC directives in assembly
    language define the same identifier.

  _ The .OBJ file defines PUBLIC symbols that
    do not reside in the CODE segment.

My personal experience with object files and machine language
programming in general is pretty weak so the explanation listed above
doesn't really help me much. My question, I guess, is could someone
provide some insight into how I might solve this problem. I've already
tried the obvious approach; that is, I've gone back to the people who
provided the object files and they assure me that everything is in
order. I'm wondering if perhaps I need to use a seperate compiler and
seperate linker which may allow me more flexibility with command line
settings then the integrated environment in TP7 provides.

Any insight would be appreciated.

Please reply directly via email to:

In the real world:
John D. Jenkins
Manager Information Technologies
Fort Erie Duty Free Shoppe Inc.