gpt4 book ai didi

从新的 mac 机器为旧 mac 创建应用程序?

转载 作者:太空宇宙 更新时间:2023-11-04 02:17:23 27 4
gpt4 key购买 nike

我正在 MAC OSX 10.6 上编写一个示例应用程序,其 gcc 版本为 4.2。我正在使用 gcc 4.2 版编译应用程序。它在同一台机器上工作正常,但在 MAC OSX 10.5 (gcc 4.0) 上它不工作。我怎样才能在 10.6 上编译它以便它也能在旧机器上运行?

我收到这些错误

dyld: unknown required load command 0x80000022
Trace/BPT trap

我用来构建的命令是

gcc -m32 main.cc 

最佳答案

该应用程序在 OS X 10.6 机器上错误地构建为 10.5 机器。开发人员可以通过考虑三件事来解决此问题:

Using the correct compiler parameters:
gcc-4.2 -mmacosx-version-min=10.5 -isysroot /Developer/SDKs/MacOSX10.5.sdk ...

Using the correct linker settings (setting environment variable before link command). This is required, so that the OS X 10.6 linker will not use the loader command 'LC_DYLD_INFO_ONLY' (=0x80000022), because OS X 10.5 does not understand this command:

export MACOSX_DEPLOYMENT_TARGET=10.5
(or setenv MACOSX_DEPLOYMENT_TARGET=10.5)

修复此问题后,可以通过运行“otool”来检查应用程序是否为 OS X 10.5 正确构建:

otool -l 二进制文件

正确的二进制文件不应包含任何“LC_DYLD_INFO_ONLY”加载命令(仅“LC_DYLD_INFO”命令)。

(另见我的博客文章 http://grauonline.de/wordpress/?p=71 )

关于从新的 mac 机器为旧 mac 创建应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5509885/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com