Page 1 of 1

Unable to compile gtutorial-x86_64.exe from project1.lpi

Posted: Sun Oct 31, 2021 5:02 pm
by fade2gray
Hi,

I have tried using...
  • lazarus-2.0.10-fpc-3.2.0-win32.exe w/ lazarus-2.0.10-fpc-3.2.0-cross-x86_64-win64-win32.exe
  • lazarus-2.0.10-fpc-3.2.0-win64.exe w/ lazarus-2.0.10-fpc-3.2.0-cross-i386-win32-win64.exe
...both recommend in the Cheat Engine README/Build Instructions, and also...
  • lazarus-2.0.12-fpc-3.2.0-win32.exe w/ lazarus-2.0.12-fpc-3.2.0-cross-x86_64-win64-win32.exe
  • lazarus-2.0.12-fpc-3.2.0-win64.exe w/ lazarus-2.0.12-fpc-3.2.0-cross-i386-win32-win64.exe
...to compile the following project files in the latest CE-7.3 release and CE-7.3.1 source...
  1. ...\cheatengine.lpi
  2. ...\launcher\cheatengine.lpi
  3. ...\speedhack\speedhack.lpi
  4. ...\Tutorial\tutorial.lpi
  5. ...\Tutorial\graphical\project1.lpi
  6. ...\VEHDebug\vehdebug.lpi
They all compile OK, 32bit and 64Bit, except for project1.lpi which will produce the gtutorial-i386.exe but not the gtutorial-x86_64.exe which results in the error unit1.pas(98,43) Error: identifier idents no member "BaseOfData".

BUT... I've discovered that Lazarus 2.0.8 will compile both gtutorial executables without error (minor annoyance that they compile with the default icon and not the Lazarus paw-print icon).

[Link] they can't reproduce the problem...
Tutorial\graphical\project1.lpi still works for me (both 32 and 64-bit)

Perhaps your FPC version is too new, or too old, or a special branch. Perhaps the 64-bit cross compiler links with the wrong file

as it seems like your PE header file is different/fixed
... none of which makes any sense to me.

Can anyone here explain to me what I'm doing wrong?

Thanks for any heads-up.