6

我安装了 64 位 Lazarus 并想生成 32 位代码。当我尝试将目标操作系统设置为 Win32 时,我收到错误消息

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

所以我想我需要下载并安装额外的 fpc 编译器来生成 Win32 代码,并以某种方式在 Lazarus IDE 中切换它们。

正确的方法是什么?

4

3 回答 3

3

您需要交叉编译器或简单地在 64 位 IDE 中编译(实用方法)。

CodeTyphon 有效。

于 2012-12-14T15:15:10.500 回答
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 位编译之间来回切换。

于 2013-08-30T11:31:30.093 回答
1

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

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

在安装了交叉编译器(和交叉编译的标准单元)之后,您还需要交叉编译您使用的任何其他 3rd 方单元。幸运的是,如果它们是作为 Lazarus 包发布的,则不需要这样做,当您将项目编译到交叉目标时,Lazarus 会很乐意为您进行重新编译。

于 2012-12-15T14:44:00.093 回答