在 Delphi 10.4 Enterprise 中编译 Linux 应用程序

Compiling a Linux application in Delphi 10.4 Enterprise

我正在尝试使用 Delphi 10.4 Enterprise IDE 为 Linux 编译现有的大型 windows(控制台)服务器应用程序。 问题是,当我切换到 Linux 平台时,即使是最多的 'basic' 项目也不再存在,我只是不知道如何以及在哪里添加它们,或者 Delphi单位,还是我必须在链接的 Linux 虚拟机中找到库,然后 Delphi 会在那里找到它们?

有没有关于它应该如何工作的手册或书籍? 主要要求:我需要 TThread(不存在)并且我需要一个类似 MS-Windows 的消息系统,以便在线程和主线程之间进行通信,将指针传递给内存中的记录。

非常欢迎任何帮助。

这是为 Windows 或 Linux 编译的线程的最小可重现示例,其中 没有 源代码更改并使用 Delphi 10.4.2:

program LinuxThreadDemo;

{$APPTYPE CONSOLE}

{$R *.res}

uses
  System.SysUtils, 
  System.Classes;        // Contains TThread for both Windows and Linux

type
  TMyThread = class(TThread)
      procedure Execute; override;
  end;

var
  MyThread : TMyThread;

procedure TMyThread.Execute;
begin
  WriteLn('Hello from thread');
end;

begin
  try
    MyThread := TMyThread.Create(TRUE);
    try
      MyThread.Start;
      ReadLn;
    finally
      MyThread.Free;
    end;
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;
end.