【问题标题】:How to switch between Win32/64 code generation in Lazarus?如何在 Lazarus 中切换 Win32/64 代码生成?
【发布时间】:2012-12-02 05:29:03
【问题描述】:

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

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

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

正确的做法是什么?

【问题讨论】:

  • 这个 CodeTyphon 东西坚持在 C 盘根目录中创建自己的文件夹 - 不,我永远不会安装它。
  • 是的,安装程序相当蹩脚,但作为程序员,也许你可以编辑几个 .bat 文件?或者安装它,然后移动到另一个文件夹。
  • 奇怪,因为 fpc 是前端加载器二进制文件。可能是 fpc ppc386 主机架构不匹配。

标签: delphi 32bit-64bit freepascal lazarus


【解决方案1】:

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

CodeTyphon 有效。

【讨论】:

    【解决方案2】:

    在 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 位编译之间来回切换。

    【讨论】:

      【解决方案3】:

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

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

      安装交叉编译器(和交叉编译的标准单元)后,您还需要交叉编译您使用的任何其他第 3 方单元。幸运的是,如果它们以 Lazarus 包的形式提供,则无需执行此操作,当您将项目编译到交叉目标时,Lazarus 会很乐意为您重新编译。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-06-17
        • 2023-03-29
        • 2018-02-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-11-07
        相关资源
        最近更新 更多