当我在新计算机上打开现有的Lazarus IDE项目时,它不想编译。 在源编辑器中弹出带有此代码的窗口
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)错误:资源编译器" windres.exe"未找到, 切换到外部模式
答案 0 :(得分:2)
我之前遇到过这种情况。通常来自Lazarus的错误安装。一个64位版本的Lazarus尝试使用32位windres,反之亦然。
如果要在64位计算机上安装并希望能够编译32位和64位目标,那么必须安装32位本机版本的Lazarus作为主要安装,然后添加64位交叉编译。不这样做会导致像你一样的问题。不幸的是,没有Lazarus的正式包装,Just Works™开箱即用的32位和64位目标以及使其正常工作的要求在项目中记录得非常糟糕。更糟糕的是,有许多不同的口味和分布" (类似于Linux发行版)现在可以使用Lazarus,社区在其中有些碎片化。
然而,有一个名为fpcupdeluxe的Lazarus安装程序项目可用于组合良好的安装。您将需要下载此工具的-386-win32版本并使用它来安装基本版本。这个工具可以用来安装许多不同的口味,我建议开始使用"稳定"底部的按钮将选择FPC和Lazarus的最新稳定版本。这将为您提供32位版本的FPC / Lazarus。然后,您可以使用相同的工具并选择x86_64 / Windows交叉编译器并安装它。
该工具非常强大,它也可用于安装许多常见的组件包。请记住,fpcupdeluxe和它可以安装的许多组件包都在大量开发中。在Lazarus论坛上有一个support thread fpcupdeluxe。我建议在决定使用该工具之前让任何特定的组件包始终更新到最新版本。