【发布时间】:2014-03-16 17:36:18
【问题描述】:
我下载了,我以为是64位版本的Lazarus:
虽然它下载的是 32 位版本:
而且安装后IDE是32位的:
它会构建 32 位二进制文件:
将定位选项更改为 win64、win64、win64:
给出 Lazarus 不支持 64 位的错误:
阅读有些过时的Cross compiling Wiki page 提供了有关如何使 64 位 Lazarus 在 64 位机器上工作的说明:
从win32到win64
如果您正在编译 fpc 的 2.1.1 或更高版本,您可以这样做:
$ make all OS_TARGET=win64 CPU_TARGET=x86_64然后
$ make crossinstall OS_TARGET=win64 CPU_TARGET=x86_64
如果你遵循它,只会给出几千个错误:
常见的建议是放弃 Lazarus IDE altogether,并使用称为 CodeTyphoon 的分支。下载 500 MB 并安装它,我在任何地方都找不到 IDE:
这令人困惑,因为我认为 CodeTyphoon 是一个 Pascal 可视化编程环境。
在我继续之前
在我乱七八糟地下载千兆字节的东西之前,让我直接问一下:
Lazarus 64-bit for Windows 可以编译成 64-bit for Windows 吗?
是否有适用于 Windows 的 64 位 Lazarus,可以创建 64 位 Windows 二进制文件?我错过了什么,还是那个功能还没有?
如果有能力,至少有人可以同情我的困惑是可以理解的吗?
【问题讨论】:
-
网站上的 64 位链接似乎有问题。访问 here 以获取 64 位 IDE。在同一页面下方,文字建议不要使用 64 位 IDE,也不要生成 64 位应用程序。
-
@SertacAkyuz 这让事情变得更加混乱,正如它所说的那样“Lazarus 团队建议使用 32 位版本的 Lazarus,即使用于生成 64 位应用程序。” - 这是它似乎无法做到的事情。
-
在上面的黑色控制台屏幕中,您运行的不是FPC打包的make,而是Delphi打包的make。检查您的配置。
-
(我的意思是,如果你运行 Lazarus,FPC 在 Delphi 之前位于 %PATH%,例如通过创建一个执行 PATH d:\lazarus\fpc\bin\i386-win32;%PATH 的批处理文件在开始拉撒路之前。
-
TLDR;我使用
ShowMessage(inttostr(sizeof(pointer)));来确定 exe 是 64 位还是 32 位 :)