> When one tries to compile a mixed C/C++ - pascal code tree into a single > executable one gets the following linker errors : > > 1./usr/local/lib/fpc/1.0.10/units/freebsd/rtl/libpsysbsd.a(sysbsd0s283.o): > In function `_SYSBSD$$_SYSTEM_EXIT': > sysbsd0s283.o(.text+0x4): undefined reference to `_haltproc' > 2./usr/local/lib/fpc/1.0.10/units/freebsd/rtl/libpsysbsd.a(sysbsd0s186.o): > In function `FPC_FINALIZEUNITS': > sysbsd0s186.o(.text+0x8): undefined reference to `INITFINAL' > > The linkage step is carried out via the command: > > gcc -g ./../entities/cmdInterpret/lib/dbg/cmdinterpret.o > ./../entities/consoleCmd/lib/dbg/consoleCmd.o > /usr/local/lib/fpc/1.0.10/units/freebsd/rtl/libpsysbsd.a > ./../utilities/mainEntryPnt/dbg/mainEntryPnt.a -o ./../dbg/lib > > cmdinterpret.o is compiled from pascal source code as a unit > consoleCmd.o,mainEntryPnt.a are compiled from C/C++ source code > where the function main resides within the static library mainEntryPnt.a > > P.S. The OS upon which this is compiled is FreeBSD release 4.9.
fpc needs its own startup code modifications. What you could try to do(no guarantees) : Try to do the above compile step with "-v", and check the linker commandline. Then execute exactly the same "ld" line, but substitute crt1.o (ort0.o, can't remember) with cprt0.o (or cprt1.o) from the /usr/local/lib/fpc/1.0.10/units/freebsd/rtl directory. P.s. FPC 1.9.2 beta is in ports tree as lang/fpc-devel since early january. _______________________________________________ fpc-devel maillist - [EMAIL PROTECTED] http://lists.freepascal.org/mailman/listinfo/fpc-devel
