我正在尝试执行在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
我想知道为什么该可执行文件在必须与该版本兼容的i386时导致此错误?
有什么方法可以在macOS 10.15.x上运行它吗?还是用不同的兼容构建设置再次构建它的唯一方法?(Lazarus尚不支持。)
macOS Catalina(10.15)放弃了对32位可执行文件的支持,这就是为什么您的可执行文件不再起作用的原因。
理想的解决方案是构建64位二进制文件。Lazarus Wiki描述了如何执行此操作:以x86_64为目标,使用Cocoa小部件,并使用fpc
而不是进行构建ppc386
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句