如何在Lazarus中切换Win32/64代码生成?

7
我安装了64位的Lazarus并希望生成32位代码。当我尝试将目标操作系统设置为Win32时,出现错误提示:

编译器"C:\Programs\lazarus\fpc\2.6.0\bin\x86_64-win64\fpc.exe"不支持目标x86_64-win32

因此,我猜我需要下载并安装额外的fpc编译器来生成Win32代码,并在Lazarus IDE中进行切换。

那么正确的做法是什么呢?


1
这个 CodeTyphon 东西坚持在 C 盘根目录下创建自己的文件夹 - 不,我永远不会安装它。 - kludg
是的,安装程序确实有点麻烦,但作为程序员,也许你可以编辑几个 .bat 文件?或者先安装然后移动到另一个文件夹中。 - Arioch 'The
可能是因为fpc是前置二进制文件,所以很奇怪。也许是fpc <-> ppc386主机架构不匹配。 - Marco van de Voort
3个回答

4

您需要跨编译器或在64位IDE中进行编译(务实的方法)。

CodeTyphon适用。


3
有一个快速简单的方法,可以在Lazarus中从Win32交叉编译到Win64。我假设您已经在32位Windows上安装了Lazarus的副本。
1. 从SourceForge的Free Pascal页面下载fpc-2.6.2.x86_64-win64.exe(或最新版本)。 2. 安装时,当它要求目录时,请将其指定为您的Lazaus FPC目录和版本子目录。例如:C:\ lazarus \ fpc \ 2.6.2 3. 完成!:-)
在您的Lazarus项目中,现在可以转到“项目选项”->“代码生成”。
设置: - 目标操作系统 = Win64 - 目标CPU系列 = x84_64
点击“确定”,重新编译您的项目。现在您将拥有一个64位exe(或dll)。
您可以随时在32位编译和64位编译之间切换。

1

交叉编译并不是标准发行版(无论是Lazarus还是FPC)中的“即插即用”功能。您需要自己编译交叉编译器,尽管有些提供了一些非常有限的主机-目标对:

  • i386-win32到x86_64-win64
  • i386-win32到arm-wince

在安装了交叉编译器(以及交叉编译的标准单元)之后,您还需要交叉编译任何其他第三方单元。幸运的是,如果它们被作为Lazarus软件包发布,您就不需要这样做。当您将项目编译到交叉目标时,Lazarus会很乐意为您重新编译。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接