I have the same problem.
I am trying to build the richmemo package with fpc-3.2.2 and lazarus 2.0.12.
|The error messages I get are as follows
win32richmemoproc.pas(780,22) Error: Incompatible types: got "<address of function(PDWord;PByte;LongInt;var LongInt):DWord;StdCall>" expected "<procedure variable type of function(LongWord;PByte;LongInt;var LongInt):DWord;StdCall>"
and
win32richmemoproc.pas(804,22) Error: Incompatible types: got "<address of function(PDWord;PByte;LongInt;var LongInt):DWord;StdCall>" expected "<procedure variable type of function(LongWord;PByte;LongInt;var LongInt):DWord;StdCall>"
This still occurs with the latest code from Github.
BTW it builds fine with fpc 3.2.0.
Edited to add
The above errors are for linux->Win32.
If the function calls are changed to use longword instead of PDWord then it will all cross-compile for win32 but then fails for cross-compile to win64 with these errors
win32richmemoproc.pas(780,22) Error: Incompatible types: got "<address of function(LongWord;PByte;LongInt;var LongInt):DWord;StdCall>" expected "<procedure variable type of function(QWord;PByte;LongInt;var LongInt):DWord;StdCall>"
and
win32richmemoproc.pas(804,22) Error: Incompatible types: got "<address of function(LongWord;PByte;LongInt;var LongInt):DWord;StdCall>" expected "<procedure variable type of function(QWord;PByte;LongInt;var LongInt):DWord;StdCall>"
There is also an extra error
win32richmemoproc.pas(790,10) Error: Illegal type conversion: "LongWord" to "TStream"
Hope this helps