I tried to add a cross-compiler for Win32 to my existing Lazarus 2.2.4 installation on Windows 10 x64.
So I followed the instructions on the fpc wiki:
https://wiki.freepascal.org/Cross_compiling#From_win64_to_win32
The link to SF from the Wiki got me to SF and I could download the cross exe I needed.
But when I try to run it, Windows pops up a "Windows protected your PC" message:
"Microsoft Defender SmartScreen prevented an unrecognised app from starting. Running this app might put your PC at risk."
There is a button "Don't run" and a link to more info that displays:
"Application:
lazarus-2.2.4-fpc-3.2.2-cross-i386-win32-win64.exe Publisher:
Unknown publisher"
Now another button "Run anyway" is shown, so I did that and the install seemed to work...
As described in the Wiki I selected to install into the same folder as I had installed Lazarus 2.2.4 initially.
Then opened Lazarus 2.2.4 with my project and changed project options as follows:
Compiler_Options/Config_and_Target/Target OS(-T): Win32
Everything else left as-is.
Now when I OK this, Lazarus pops up a message saying: --------------------------------------
The current FPC has no config file. It will probably miss some units. Check your installation of fpc.
--------------------------------------
When I hit the OK button another pop-up:
--------------------------------------
The project uses target OS=win32 and CPU=x86_64.
The system.ppu for this target was not found in the FPC binary directories.
Make sure fpc is installed correctly for this target and the fpc.cfg contains the right directories.
[OK]
---------------------------------------
So I followed the install instructions on the Wiki and wound up in this non-working state...
What steps are missing that I must do?
Why does it not find the correct system.ppu?
I searched the install dir for system.ppu and found two here:
C:\Programs\Lazarus_2.2.4\fpc\3.2.2\units\i386-win32\rtl C:\Programs\Lazarus_2.2.4\fpc\3.2.2\units\x86_64-win64\rtl
What I see is:
in C:\Programs\Lazarus_2.2.4\fpc\3.2.2\bin\ only x86_64-win64 exists
in C:\Programs\Lazarus_2.2.4\fpc\3.2.2\units these dirs exsist: i386-win32
x86_64-win64
in C:\Programs\Lazarus_2.2.4\fpc\3.2.2\fpmkinst these dirs exsist: i386-win32
x86_64-win64
It seems like the cross installer failed to install the cross binaries, why????
I must have done something seriously wrong...
Or could the problem be that Windows Defender has blocked all exe files from being installed?
