On 2023-03-23 09:25, Bo Berglund via fpc-pascal wrote:
I tried to add a cross-compiler for Win32 to my existing Lazarus 2.2.4
installation on Windows 10 x64.
 .
 .
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?

I don't know how it works with Lazarus (I install FPC using the installer provided with FPC, not the one for Lazarus), but I don't think that this has anything to do with Windows Defender. You missed another step mentioned by Sven, in particular changing the target CPU from x86_64 to i386. If it fails to find system.cpu even after that step, you may need to revisit the configuration file as already suggested in the message to make sure that search path for units (-Fu) references the full target "variable" rather than explicitly the x86_64-win64 directory.

Tomas
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to