[Lazarus] Lazarus 2.0.12 on Windows x64 cannot build command line program, complains about missing GUI symbols

R.Smith ryansmithhe at gmail.com
Sun Sep 12 16:49:06 CEST 2021


Either remove any Indy units added automatically to your main program's 
uses clause (namely IdFTP,IdFTPCommon - it's not needed there, maybe 
IniFiles too), or simply add the "Interfaces" unit to your uses clause 
(preferably at the start).


On 2021/09/11 22:33, Bo Berglund via lazarus wrote:
> I have created a very simple program which is supposed to send a backup zipfile
> to a webserver by FTP. I am used to Indy so I use TIdFTP as the object for this
> transfer.
> I started in lazarus by creating a new program which gave me a very sparse
> skeleton only adding Classes as used unit.
> I added indylaz to the project dependencies and the uses clause as shown below.
>
> So now I wrote my code and checked it using Run/QuickCompile and it succeeds.
> So I tried Run/Compile and get 50 errors, same with Run/Build...
>
> And the error messages are completely wild, here are a few of them:
>
> Compile Project, Target: FtpXferDb.exe: Exit code 1, Errors: 50
> Error: Undefined symbol: WSRegisterCustomPage
> Error: Undefined symbol: WSRegisterCustomNotebook
> Error: Undefined symbol: WSRegisterCustomImageListResolution
> Error: Undefined symbol: WSRegisterMenuItem
> Error: Undefined symbol: WSRegisterMenu
> Error: Undefined symbol: WSRegisterMainMenu
> Error: Undefined symbol: WSRegisterPopupMenu
> Error: Undefined symbol: WSRegisterDragImageListResolution
> Error: Undefined symbol: WSRegisterLazAccessibleObject
> Error: Undefined symbol: WSRegisterControl
> Error: Undefined symbol: WSRegisterWinControl
> ....
> Error: Undefined symbol: WSRegisterStatusBar
> Error: Undefined symbol: WSRegisterTabSheet
> Error: Undefined symbol: WSRegisterPageControl
> Error: Undefined symbol: WSRegisterCustomListView
> Error: Undefined symbol: WSRegisterCustomProgressBar
> Error: Undefined symbol: WSRegisterCustomUpDown
> Error: Undefined symbol: WSRegisterCustomToolButton
>
> Everything seems to be about GUI stuff which I do not use at all!
> This is a command line program....
>
> What can I do to remedy this?
>
> This is my uses clause:
>
> uses
>    {$IFDEF UNIX}{$IFDEF UseCThreads}
>    cthreads,
>    {$ENDIF}{$ENDIF}
>    Classes,
>    indylaz,
>    { you can add units after this }
>    SysUtils,
>    IniFiles,
>    IdFTP,
>    IdFTPCommon;
>
>


More information about the lazarus mailing list