Delphi Compiler Error
E2045 Bad object file format – ‘%s’
Reason for the Error & Solution
This error occurs if an object file loaded with a $L or $LINK directive is not of the correct format. Several restrictions must be met:
- Check the naming restrictions on segment names in the help file
- Not more than 10 segments
- Not more than 255 external symbols
- Not more than 50 local names in LNAMES records
- LEDATA and LIDATA records must be in offset order
- No THREAD subrecords are supported in FIXU32 records
- Only 32-bit offsets can be fixed up
- Only segment and self relative fixups
- Target of a fixup must be a segment, a group or an EXTDEF
- Object must be 32-bit object file
- Various internal consistency condition that should only fail if the object file is corrupted.