Apple PrefPane 示例无法构建,并出现 clang 错误,同时反对 -fobjc-arc 和 -fobjc-gc

2024-01-10

我正在尝试构建一个首选项窗格作为学习 OS X 开发的一部分。下载苹果的后首选项窗格示例代码 https://developer.apple.com/library/mac/#samplecode/PrefsPane/Introduction/Intro.html#//apple_ref/doc/uid/DTS10004306-Intro-DontLinkElementID_2并尝试构建项目时出现以下错误:

clang:错误:无法同时指定“-fobjc-arc”和“-fobjc-gc”

在“构建设置”中关闭垃圾收集可以使项目正确构建,但是一旦将首选项窗格示例安装在本地计算机上,它就不会开始显示:

“您无法打开 PrefsPane 首选项,因为它无法在基于 Intel 的 Mac 上运行。”

我尝试了架构(10.6、10.7)和 Objective-C 自动引用计数(是、否)和 Objective-C 垃圾收集(支持(-fobjc-gc)、不支持、必需(仅 -fobjc-gc)的每种组合虽然某些组合确实允许构建项目,但我无法加载首选项窗格。

使用 Xcode 4.3.2 构建和部署 OS X 10.7 的首选项窗格所需的正确架构、ARC 和 GC 设置是什么?


在构建设置中关闭垃圾收集并启用 ARC 的情况下构建的 PrefsPane 适用于 Mac OS X 10.8.2。 “System Preferences.app”仅显示一条消息:

    To use this preferences pane, System Preferences must quit and reopen.

这是因为系统偏好设置在默认启用垃圾收集的情况下启动,如果它尝试在没有 GC 的情况下打开偏好设置窗格,则也应该在没有 GC 的情况下重新启动。 因此可以在 10.8 上使用 ARC 来开发首选项窗格。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Apple PrefPane 示例无法构建,并出现 clang 错误,同时反对 -fobjc-arc 和 -fobjc-gc 的相关文章

  • /usr/bin/as:无法识别的选项“-EL”

    因此 在为我的1plus手机编译android内核时 经过3天的多次尝试 我放弃了并尝试在这里询问是否有人以前遇到过这个问题 这个错误对我来说有点模糊 但我觉得问题来自于我最近对 GNU Linux 发行版 Gentoo 的更改 它在不应该
  • 使用 CMake 和 clang 在 Windows 上构建简单的 C++ 项目

    我正在尝试在 Windows 10 上构建一个简单的 Hello World 程序 最好使用 CMake 和 clang 如果我使用 MinGW 的 g 编译器 我可以成功编译 链接和运行同一个项目 但当我尝试使用 clang 时会遇到问题
  • 替代 __del__ 来获得最终结果并终止类中的进程?

    这个虚拟类类似于我当前的项目 class EndProcess object def init self self Q multiprocessing Queue self p1 multiprocessing Process target
  • 语义问题 Qt Creator:命名空间“std”中没有名为“cout”的成员

    我开始使用 Qt Creator 编写代码 对于 C 文件 我遇到很多语义问题 99 是 命名空间 yyy 中没有名为 xxx 的成员cpp文件构建 编译和输出没有问题 如果我点击例如cout 我已链接到 iostream 我是否需要在 Q
  • javascript 中可以预防失效的监听器吗?

    我的问题确实是 是流失的听众问题 http wikipedia org wiki Lapsed listener problem在 javascript 中可以预防吗 但显然 问题 这个词会导致问题 维基百科页面说 流失的听众问题可以通过主
  • 编译器是否允许优化堆内存分配?

    考虑以下使用以下简单代码new 我知道没有delete 但这与这个问题无关 int main int mem new int 100 return 0 编译器是否允许优化new call 在我的研究中 g 5 2 0 https gcc g
  • .NET 进程分配的内存何时释放回 Windows

    设置 NET 在启动时以及在收集后尝试满足分配请求时 分段为每一代的堆 0 1 2 LOH 分配内存 以获得连续的内存块 为每个堆分配的内存可能会随着应用程序 预热 而趋于平稳 但第 2 代和大型对象堆可能除外 在垃圾收集期间 每个堆 0
  • Clang 5.0 上的 vsprintf 和 vsnprintf [-Wformat-nonliteral] 警告

    我有这段代码 static void err doit int errnoflag int level const char fmt va list ap int errno save unsigned long n char buf MA
  • 将数据库(例如 sqlite)与 cocos2d-x 一起使用

    我开始在 iPhone 上构建游戏应用程序 我正在使用 cocos2d x 游戏引擎 因为它很容易从那里移植到 Android 而且编码是用我非常熟悉的C 编写的 我想知道是否有办法在 cocos2d x 中使用任何数据库 虽然sqlite
  • 我现在可以使用新的 Xcode 4.2 开发者预览版来发布常规应用程序吗?

    长话短说 如果我在 Mac 上下载并安装新的 Xcode 4 2 开发者预览版并开始开发新的 iOS 5 应用程序 我仍然可以使用它来开发和发布 iOS 4 x 应用程序吗 我现在无法安装该平台的两个不同版本 可能你们当中有人已经尝试过并且
  • clang:错误:链接器命令失败,退出代码 1 - 未找到库

    我在构建项目时遇到了一些问题 自上周以来 由于某种原因 我收到了以下错误 并且无法摆脱它 Ld Users Nathan Library Developer Xcode DerivedData SmartPic elnbgmemojraij
  • ARC 禁止结构或联合中的 Objective-C 对象,尽管标记了文件 -fno-objc-arc

    ARC 禁止结构或联合中的 Objective C 对象 尽管标记了文件 fno objc arc 为什么会这样呢 我假设如果你将其标记为 fno objc arc 你就没有这个限制 如果您收到此消息 请尝试 unsafe unretain
  • 在 xcode 4 中生成核心数据属性的代码

    在 xcode 3 中 数据模型构建器中有一个有用的功能 您可以突出显示实体中的某些属性 关系 右键单击 然后选择将方法和属性声明复制到剪贴板 如果您也想要 Objective c 2 0 属性声明 您可以选择 然后你可以将它们粘贴到你的
  • 在 iPhone 模拟器中设置当前用户位置

    有没有办法在 Xcode 4 上的 iPhone 模拟器中设置当前用户位置 我希望模拟器显示除库比蒂诺之外的其他位置 是的 从模拟器的菜单中选择Debug gt Location gt Custom Location
  • Xcode 4:删除构建设置中的项目

    在 XCode 4 0 中 有一个新设计的 构建设置 页面 我的问题是 一旦指定设置 我就看不到如何删除它 示例 我已将目标级别的 版本控制系统 更改为 Apple Generic 后来我意识到我应该在项目级别设置它 所以我想删除目标级别设
  • 创建对象的弱引用

    Actionscript 3 中是否可以创建对对象的弱引用 以便可以对其进行垃圾收集 我正在创建一些类以使调试更容易 因此如果仅在此处引用这些对象 我不希望这些对象挂在内存中 当然我不想用回调填充代码以删除对象 格兰特 斯金纳 Grant
  • Node.js 中的垃圾收集器

    据谷歌称 V8 通过采用 stop the world 分代 准确的垃圾收集器 来使用高效的垃圾收集 部分说法是 V8 在执行垃圾收集周期时会停止程序执行 一个明显的问题是 当暂停程序执行时 如何才能实现高效的 GC 我试图找到有关此主题的
  • ASP MVC:何时调用 IController Dispose()?

    我正在对我的一个较大的 MVC 应用程序进行大规模重构 速度调整 它已经部署到生产环境几个月了 我开始在连接池中等待连接超时 我已将问题追溯到连接未正确处理的情况 鉴于此 我对我的基本控制器进行了以下更改 public class MyBa
  • 诊断和仪器均缺少“僵尸”选项

    运行 Xcode 4 0 2 Zombie 选项丢失 其他 SO 帖子建议找到它的两个地方 Product gt Run looks like this Product gt Profile looks like this 奇怪的是 我之前
  • 如何实现仅当可用内存较低时才将数据交换到磁盘的写缓存

    我想将应用程序生成的数据缓存在内存中 但如果内存变得稀缺 我想将数据交换到磁盘 理想情况下 我希望虚拟机通知它需要内存并将我的数据写入磁盘并以这种方式释放一些内存 但我没有看到任何方法以通知我的方式将自己挂接到虚拟机中before an O

随机推荐