繁体   English   中英

为OS X 10.6编译?

[英]Compile for OS X 10.6?

通常,对于我的OS X版本,我一直在运行10.6的旧Mac Book Pro上编译应用程序。 这样可以确保我支持此版本的OSX。

但是由于种种原因,MBP不再是长期的选择,因此我一直在运行10.8的较新设备上进行编译。 但是,当我这样做时,即使设置了-mmacosx-version-min = 10.6标志,我的应用程序也无法在10.6上运行。 我设置标志时发生的错误是libSystem.B.dynlib中的“找不到符号:_wcsdup”

我查找了此错误,我唯一能找到的建议就是直接链接到10.6 SDK。 但是,当我尝试将10.6 SDK从我的MPB复制到新机器上时(因为10.6 SDK未安装在10.8上),它无法编译,并显示以下错误:“错误:bits / c ++ config.h:没有这样的文件或目录“我认为这是由于我“安装” SDK的方式,尽管其他人也成功做到了这一点。

有没有人有办法解决吗?

在VM(例如VMWare或VirtualBox)中运行10.6。

我可以按照以下步骤重新安装较早的SDK和编译器: 如何将ppc / ppc64以及对10.4 / 10.5 SDK的完整支持还原到Xcode 4?

您需要在脚本中更改xcode安装的路径。

另外,在定位10.6时,您可能将无法使用-std = c ++ 11,因为您还将需要-stdlib = libc ++,仅在定位10.7或更高版本时才可用。

从10.7开始,Apple仅分发libc ++二进制文件。 您可以构建自己的libc ++并将其与您的应用程序一起部署到10.6机器上。 但是,当目标低于10.7时,Apple硬编码了编译器以禁止-stdlib = libc ++。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM