在 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.
我正在尝试使用 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.