我安装了 64 位 Lazarus,想要生成 32 位代码。当我尝试将目标操作系统设置为 Win32 时,我收到错误消息
编译器“C:\Programs\lazarus pc .6.0 in\x86_64-win64 pc.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 pc .6.2
全部完成! :-)
在您的 Lazarus 项目中,您现在可以转到项目选项 -> 代码生成。
设置:
目标操作系统 = Win64 目标 CPU 系列 = x84_64
单击“确定”,然后重新编译您的项目。您现在将拥有一个 64 位 exe(或 dll)。
您可以随时在32位编译和64位编译之间来回切换。
交叉编译并不是在标准发行版(Lazarus 或 FPC)中“正常工作”的功能。您需要自己编译交叉编译器,尽管提供了一些交叉编译器,但适用于非常有限的主机-目标对,即:
安装交叉编译器(和交叉编译的标准单元)后,您还需要交叉编译您使用的任何其他第三方单元。幸运的是,如果它们作为 Lazarus 包提供,则不需要执行此操作,当您将项目编译到交叉目标时,Lazarus 会很乐意为您重新编译。
目前 Lazarus 两者都提供,从下载页面:
此文件夹包含 64 位版本 Lazarus 的安装程序 2.2.2 此安装仅适用于 64 位版本的 Windows。
默认安装程序是:lazarus-2.2.2-fpc-3.2.2-win64.exe 你应该 如果您想在任何 Windows 64 位版本上工作,请下载此文件。 安装程序包括 FPC 3.2.2.2 并且包括 Lazarus 帮助 文件。
用于构建和调试 32 位 Windows 应用程序的附加组件: lazarus-2.2.2-fpc-3.2.2-cross-i386-win32-win64.exe 这个文件可以 作为 64 位 Lazarus IDE 的附加组件安装(在 Windows 系统上) 仅限 64 位),如果您也想为 32 位 Windows 进行开发。