Hello everyone.
I am new to Lazarus and the whole FreePascal way of doing things. Last time i wrote a program in Pascal was ca 1995 and back then it was all about getting the VGA to Mode X and having fun with graphics.
Anyway, this post is about getting both ARM and Win32 Applications / Programs to compile correctly from within Lazarus.
I got the ARM part working but now Win32 is broken and this is where i need your help.
Getting Lazarus To Compile an ARM Program:
Download and install FPC2.1.4 for i384-win32 (in C:\FPC)
Download and install the FPC 2.1.4 WinCE add on (Adds arm-* to your C:\FPC)
Download and Install Lazarus (Lazarus brings FPC 2.0.4 with it)
Download and Install the Lazarus WinCE Add On (This will add FPC 2.1.5 to your {LazarusDir}/fpc/)
An entry in the wiki prompts users wanting to compile applications for the ARM target to download a snapshot of lazarus with WinCE tried and tested. The link is broken and this is what started everything for me
So, with the current configuration you can compile and run Win32 Programs but you get some errors (can not execute ppcarm.exe, etc) when trying to compile ARM applications.
Since all i wanted was to run a simple ARM console program, i figured that since i have the FPC 2.1.4 with the ARM add-on installed i should be able to do so by telling Lazarus to use that compiler.
I did that by changing the Compiler Path to my FPC2.1.4 directory.
I also changed the Architecture and Target OS to arm and WinCE respectively.
Hit the play button and i had myself my simple ARM compiled console application.
Now, with the same settings (But obviously the win32 arch), i started a new Application project with the intention to compile and run a Win32 GUI application with the FPC2.1.4 compiler.
Unfortunately, this does not work as i get the error:
Can't find unit interfaces
The error is emmitted at the Use CThreads point.
(Additionaly, when i try to compile an ARM GUI application i get the same error :-( )
My questions are these:
Which fpc.cfg does Lazarus use? Does it use a default cfg or does it pick up the correct cfg from the compiler's directory?
Which Unit interfaces does this error refer to? Within my FPC2.1.4 directory there are all the neccessary unit files for both i386 and arm architectures.
Is there a walk-through on how to direct lazarus to use another FPC version for compilation?
Should i have the GUI components pre-compiled somewhere?
Looking forward to hearing from you