I am not absolutely sure of this but, I believe that a single array in FPC is limited to 2GB and your array exceeds that.
Depends on platform. As in Delphi or C++. The limit you refer to is 32 bit platform (D7 Windows32?) and not even all of them..
And pointers for 32 bit code are unsigned in FPC, so double the amount.
He needs to mention Platform and Bitness, as usual. And the fpc version.
if you got into the habit of paying attention instead of babbling the first thing that brews in your brain, you would have noticed:
Error: Can't read COFF Header while reading C:\Users\<user>\Documents\SourceCode\CheckResFile\lib\x86_64-win64\xyzList.o
"C:\users\"... not something you're going to see on many different OSs.
As far as the bitness... close to the end of that line, you might notice "x86_64"... that should answer your question.
To be more specific, I know this for a fact. A PE file cannot exceed 2GB, this is due to the data type used to store offsets in the PE file. If a data structure is declared in such a way that it would be stored in the PE file (such as initialized data), that would prevent the linker from successfully building the PE file.
If I knew ELF well enough (which I don't) I'd tell you how it works there but, fortunately for you, I can't help you with that one.
@kazhar:If you give a reasonably detailed description of what you want to do, I can probably offer a good way of working around that limitation.