在新 PC 上打开 lazarus 项目

Opening lazarus project on a new PC

当我在新计算机上打开现有的 Lazarus IDE 项目时,它不想编译。 window 在源代码编辑器中弹出带有此代码的

program C05e01p;

{$mode objfpc}{$H+}

uses
  {$IFDEF UNIX}{$IFDEF UseCThreads}
  cthreads,
  {$ENDIF}{$ENDIF}
  Interfaces, // this includes the LCL widgetset
  Forms, C05e01u, LResources
  { you can add units after this };

{$IFDEF WINDOWS}{$R C05e01p.rc}{$ENDIF}

begin
  {$I C05e01p.lrs}
  Application.Initialize;
  Application.CreateForm(TfrmBoolean, frmBoolean);
  Application.Run;
end.

错误是:

C05e01p.lpr(20,1) Error: resource compiler "windres.exe" not found, switching to external mode

我以前 运行 了解过这个。通常它来自 Lazarus 的错误安装。 64 位版本的 Lazarus 试图使用 32 位的 windres,反之亦然。

如果您在 64 位计算机上安装并希望能够编译 32 位和 64 位目标,那么您必须安装 32 位本机版本的 Lazarus 作为主要安装,然后添加 64 位交叉编译.不这样做会导致像您 运行 这样的问题。不幸的是,没有正式的 Lazarus 包装可以开箱即用地同时支持 32 位和 64 位目标,并且项目中对其正常工作的要求的记录非常少。更糟糕的是,现在有许多不同的 Lazarus 版本和 "distributions"(类似于 Linux 发行版),社区在其中有些分散。

但是,有一个名为 fpcupdeluxe 的 Lazarus 安装程序项目,可用于进行良好的安装。您需要下载此工具的 -386-win32 版本并使用它来安装基本版本。这个工具可以用来安装许多不同的风格,我建议开始时使用底部的 "stable" 按钮,这将 select FPC 和 Lazarus 的最新稳定版本。这将为您提供 FPC/Lazarus 的 32 位工作版本。然后,您可以使用相同的工具和 select x86_64/Windows 交叉编译器并安装它。

这个工具很强大,可以用来安装很多常用的组件包。请记住,fpcupdeluxe 和它可以安装的许多组件包都在大量开发中。在 Lazarus 论坛上有一个用于 fpcupdeluxe 的 support thread。我建议在决定使用该工具之前让任何特定组件包始终更新到最新版本。