Asq*_*qan 2 osx cpu compatibility executable
我正在尝试执行在 macOS 10.14.x 上运行的已编译 Lazarus 文件。更新到 10.15 后,我开始收到错误消息“可执行文件中的 CPU 类型错误”,据我所知,这意味着它不再兼容。
./myScript
->>>>>>>>>>>>>>> bad CPU type in executable
file myScript
->>>>>>>>>>>>>>> Mach-O executable i386
uname -a
->>>>>>>>>>>>>>> Darwin-MacBook-Air.local 19.0.0 Darwin Kernel Version 19.0.0: Thu Oct 17 16:17:15 PDT 2019; root:xnu-6153.41.3~29/RELEASE_X86_64 x86_64
uname -p
->>>>>>>>>>>>>>> i386
Run Code Online (Sandbox Code Playgroud)
我想知道为什么这个可执行文件会导致这个错误,而它是必须与这个版本兼容的 i386?
有没有办法在 macOS 10.15.x 上运行它?或者是使用不同的兼容构建设置再次构建它的唯一方法?(Lazarus 尚不支持这一点。)
macOS Catalina (10.15)放弃了对 32 位可执行文件的支持,这就是您的可执行文件不再有效的原因。
理想的解决方案是构建 64 位二进制文件。Lazarus wiki描述了如何做到这一点:针对 x86_64,使用 Cocoa 小部件,并使用fpc
而不是ppc386
.