expat with Borland

Jerry Brown jbrow@ix.netcom.com
Wed Jul 17 11:03:04 2002


Problem: I could not link the Expat-1.95.3 sample problem using
 Borland C++Builder Personal Version 6.0 [Build 10.158]under
 Windows 98[Build 4.10.1998].

Error message:
[Linker Fatal Error] Fatal: Illegal option: 1.95.3\Libs;
c:\program files\borland\cbuilder6\lib\obj;
c:\program files\borland\cbuilder6\lib;
c:\program files\borland\cbuilder6\lib\release

Linker options:
    <LFLAGS value="-D&quot;&quot; -ap -Tpe -x -Gn -v"/>

Related components:
 The first line of c:\expat-1.95.3\libs\libexpat.lib (6/3/02)
  has: "!<arch>   "; but the first lines in lib files in
  ...CBuilder6/Lib are quite different.

 TLIB 4.5 on this item reports "Error: Bad header in input LIB";
   yet it reports listing requests correctly from Borland lib files.

 Referring to Microsoft and Borland, the book "C++Builder 5 Developer's
  Guide" (SAMS, page 952) states "...for static linking you have a problem
  with the diferent exporting conventions used by the two companies."
  When rebuiling an earlier version of Expat from the CD accompanying
  "C++XML" by Fabio Arciniegas, I did ultimately fail with a crash of the
  executable created with a command-line TLINK32 of obj files created;
  in C++Builder6; and I noticed and worked around linker errors referencing
  symbols with an underscore prefix.

Rebuilding Expat could be assisted by the VCTOBPR.EXE program, which
 converts .DSP or .DSW files (Microsoft project or workspace files) to
 Borland project files, but I do not have this utility.

The file "expat_config.h" is included in "expat.c", yet it is not available
in the
 distributed materials, so rebuilding obj files under the Borland C++Builder
 is not possible.

Also, another error prevents a successful make:
[C++ Fatal Error] xmlparse.c(84): F1003 Error directive: memmove does not
exist
 on this platform, nor is a substitute available