Lee Jenkins wroteI've tried 2.2.0 which produces the error with "GetUserDir" not found error.
Well, looking at the code:
{$IFNDEF Ver2_2_0}
AMacroList.Add(TTransferMacro.Create('Home',GetUserDir,
lisUserSHomeDirectory, nil, []));
{$ENDIF}
It's illogical. It cannot have this error because it's in a IFDEF, so you are not using FPC 2.2.0
Go to the command line and run your compiler. It will show his version. Or easier: fpc -v
I compile LCL with FPC 2.2.0 and I don't get this error.
How did you install FPC?
Also, what operating system are you using?
I've tried 2.2.1 which is the same above.
Because your 2.2.1 is old. You need to update it, which will actually now be 2.2.3
I've tried 2.2.3 which instead says it cannot find the Contnrs unit, which I've
now idea how that is possible since its sitting right there in the folder
M:\fpc\2.2.3\source\packages\fcl-base\src. I have "FPC Source Directory"
pointing to M:\fpc\2.2.3\source.
The "FPC Source Directory" is designed to find the source when you want to find the declaration of something.
It is *not* designed to build FPC "on the fly"
You have to build FPC yourself.
contnrs is part of FCL. A standard FPC compilation builds only the compiler and the RTL.
You now need to build the FCL too. Here is how I build the FCL (in a batch file):
cd packages
PATH=C:\Programas\lazarus220\fpc\2.2.1\bin\i386-win32 make clean all COMPILER_UNITTARGETDIR="C:\Programas\lazarus220\fpc\2.2.1\units\arm-wince" cd ..
pause
This apply If you are building the compiler manually.
Felipe Monteiro de Carvalho