我安装了 64 位 Lazarus 并想生成 32 位代码。当我尝试将目标操作系统设置为 Win32 时,我收到错误消息
编译器“C:\Programs\lazarus\fpc\2.6.0\bin\x86_64-win64\fpc.exe”不支持目标x86_64-win32
所以我想我需要下载并安装额外的 fpc 编译器来生成 Win32 代码,并以某种方式在 Lazarus IDE 中切换它们。
正确的方法是什么?
我安装了 64 位 Lazarus 并想生成 32 位代码。当我尝试将目标操作系统设置为 Win32 时,我收到错误消息
编译器“C:\Programs\lazarus\fpc\2.6.0\bin\x86_64-win64\fpc.exe”不支持目标x86_64-win32
所以我想我需要下载并安装额外的 fpc 编译器来生成 Win32 代码,并以某种方式在 Lazarus IDE 中切换它们。
正确的方法是什么?
您需要交叉编译器或简单地在 64 位 IDE 中编译(实用方法)。
CodeTyphon 有效。
在 Lazarus 中有一种从 Win32 交叉编译到 Win64 的快速简便的方法。我假设您已经在 32 位版本的 Windows 上安装了 Lazarus 的副本。
从 SourceForge 的 Free Pascal 页面下载 fpc-2.6.2.x86_64-win64.exe(或任何最新版本)。
安装,当它要求一个目录时,给它你的 Lazaus FPC 目录和版本子目录。例如 C:\lazarus\fpc\2.6.2
全部完成!:-)
在您的 Lazarus 项目中,您现在可以转到项目选项 -> 代码生成。
放:
目标操作系统 = Win64 目标 CPU 系列 = x84_64
单击确定,然后重新编译您的项目。您现在将拥有一个 64 位的 exe(或 dll)。
您可以随时在 32 位编译和 64 位编译之间来回切换。
交叉编译不是标准发行版(Lazarus 或 FPC)中“正常工作”的功能。您需要自己编译交叉编译器,尽管提供了一些但用于非常有限的主机-目标对,即:
在安装了交叉编译器(和交叉编译的标准单元)之后,您还需要交叉编译您使用的任何其他 3rd 方单元。幸运的是,如果它们是作为 Lazarus 包发布的,则不需要这样做,当您将项目编译到交叉目标时,Lazarus 会很乐意为您进行重新编译。