在我将Delphi Windows服务应用程序移植到FPC Linux控制台应用程序后,我尝试移植带有GUI的程序。我在我的Windows机器上安装了最新的Lazarus,并转换了一个简单的“hello world”应用程序。其中一个单元有一个表单(在Delphi中是.dfm文件)。这个表单被Lazarus转换成了.lfm和.lrs文件。但是编译时出现了问题:
windres: C:/htlib/pas/FInfo.lrs:1: syntax error
Free Pascal Compiler version 2.2.4 [2009/10/25] for i386
Copyright (c) 1993-2008 by Florian Klaempfl
Target OS: Win32 for i386
Compiling lazarus_test.lpr
...
Compiling C:\htlib\pas\FInfo.pas
Compiling resource C:\htlib\pas\FInfo.lrs
d:\lazarus\fpc\2.2.4\bin\i386-win32\windres.exe: C:/htlib/pas/FInfo.lrs:1: syntax error
C:\htlib\pas\FInfo.pas(366,1) Error: Error while linking
C:\htlib\pas\FInfo.pas(366,1) Fatal: There were 1 errors compiling module, stopping
以下是FInfo.lrs文件的前几行,它看起来像文本文件(不像.res文件那样是二进制文件):
{ This is an automatically generated lazarus resource file }
LazarusResources.Add('TfrmInfo','FORMDATA',[
'TPF0'#8'TfrmInfo'#7 ...
在设计器中,我可以看到并编辑这个表单,所以我认为它已经成功转换了。
也许.lrs文件有问题?难道不应该像.res文件一样是二进制的吗?
我该怎么编译这个表单?
编辑:
我的.pas单元有这个表单:
{$R *.lrs}