如何将 Obj-C 2.0 与 GNUstep 结合使用?

2023-11-25

我知道 libobjc2 的存在,并且我认为我需要使用 clang 而不是 GCC,但我找不到有关编译过程有何不同的任何基本说明。

任何人都可以给明确的分步说明关于获取、配置、编译和使用 GNUstepUbuntu 中的 Objective-C 2.0?


自从GNUStep ObjC2 常见问题解答已经被引用了,我假设你已经看过了。不过,我想指出这一点:

对于更高级的功能,目前仅在使用 Clang 编译时才受支持,您将需要 GNUstep 运行时。目前尚未考虑将其投入生产。它应该可以作为 GCC 运行时的直接替代品,但一些高级功能尚未经过充分测试。

The FAQ还提出以下几点:

如果您使用最新版本的 GCC 来编译代码,那么您应该拥有编译器附带的 Objective-C 运行时库的副本。

如果使用 -fobjc-nonfragile-abi 标志进行编译,那么您将使用新的 ABI。仅 GNUstep 运行时支持此功能。这增加了:

  • 财产自省
  • 可选协议方法的反思
  • 非脆弱实例变量
  • 转发代理支持

因此,如果您正在通过 GCC 寻找旧功能,本教程会很好地完成这项工作,就像这个。您已经明确指出您希望使用 Clang 提供的功能来做到这一点(通过libobjc2),它有自己的文档库。

获取 Clang 版本并进行设置看起来相当切割和干燥。这LLVM 入门文档非常强大(完整的文档存档here),这应该提供有关正确设置后端和编译的见解。可以找到对预期构建过程的一些额外见解here.

然而,在撰写本文时,在 Clang 中编译 Objective-C 应用程序似乎记录极少且未经测试。随着功能的推出和代码库的稳定,我想更多的用户文档将会上线。

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

如何将 Obj-C 2.0 与 GNUstep 结合使用? 的相关文章

  • 检查 UITableViewCell 是否完全可见

    如何检查 UITableViewCell 在屏幕上是否完全可见 不被选项卡或导航栏切断 我可以使用以下代码获取可见单元格 NSArray indexes tableView indexPathsForVisibleRows 但我想排除屏幕中
  • 如何安装和管理多个版本的 R 包

    我正在开发一个使用 R 进行可重现计算的框架 我正在努力解决的一个问题是 某些 R 代码可能在包的 X Y Z 版本中完美运行 但是为什么你在 3 年后尝试重现它 这些包已经更新了 一些功能发生了变化 代码不再运行 此问题还会影响使用包的
  • 将 CFIndex 转换为 NSUInteger?

    我如何转换typedef signed long CFIndex to typedef unsigned int NSUInteger 如果我使用一个可以吗 CFIndex作为类型的参数NSUInteger 我还没有铸造它 编译者似乎也不介
  • 如何使用自动布局在自定义 UITableViewCell 内动态设置 UITextView 高度

    I have UITableView every tableViewCell is custom Inside my customTableViewCell is a UITextView TextViews frame is pin or
  • @:(符号冒号)在 Makefile 中意味着什么?

    Makefile 中的以下内容有何作用 rule deps 我在制作手册中似乎找不到这个 它的意思是 不要在输出中回显此命令 所以这条规则是说 执行 shell 命令 并且不回显输出 当然是shell命令 是一个空操作 所以这就是说 什么都
  • makefile 目标中可以有多个 % 符号吗?

    所以我有一个具有如下目标依赖项的 makefile all foreach lang LANGS foreach models MODELS targetName model xml lang targetName 目标如下所示 targe
  • 在集合视图单元格中播放视频,就像在 Facebook 应用程序时间轴中播放的视频一样

    我想在集合视图单元格中播放视频 要求就像 Instagram 时间线 播放视频就像在 facebook 时间线中播放视频 为此 我使用了 UICollectionViewCell 我有一些图像 没有视频 现在我是来自画廊的图像 我正在使用相
  • 标准头文件中的 C 编译器错误 - 未定义的 C++ 定义

    我正在尝试编译 C 程序 但收到许多错误 这些错误是在标准 C 头文件 inttypes h stdio h stat h 等 中遇到的 错误的来源是以下未定义的常量 BEGIN DECLS END DECLS BEGIN NAMESPAC
  • Xcode 6.4 Swift 单元测试无法编译:“GPUImage.h 未找到”“无法导入桥接标头”

    我的 Xcode 项目构建并运行良好 它有 Swift 和 Objective C 代码 它已安装 GPUImage 我向它添加了单元测试 现在它将不再编译 找不到 GPUImage h 文件 导入桥接标头失败 以下是我发现并尝试过的解决方
  • 使用 iPhone 控制蓝牙音频设备

    我正在寻找为 iPhone 编写应用程序 它将能够控制汽车中的收音机和 CD 播放器 收音机和播放器具有可用的蓝牙连接 我开始这个问题是为了获得这个地方所需的所有信息 我有几个问题 但如果您发现任何我没有要求的对我开始开发此应用程序不重要的
  • 为 Qt 应用程序创建 Linux 安装

    我刚刚用 Qt Creator 制作了一个很棒的程序 我对自己很满意 如何将其从台式机移至笔记本电脑 那么 最好的方法是安装程序 对吗 对于 Ubuntu 这是一个 Debian 软件包 对吗 我怎么做 有人这样做过吗 他们可以分享 QT
  • 禁用 iPhone 4S / 新 iPad 键盘上的听写按钮

    我们的应用程序是一个医疗保健应用程序 我们的应用程序中有一个符合 HIPAA 标准的语音识别器 所有听写都可以通过它进行 医院不希望医生意外开始与不符合 HIPAA 标准的 Nuance Dragon 服务器进行对话 因此 我正在寻找可以抑
  • 操作错误:尝试在 ubuntu 服务器中写入只读数据库

    我正在使用 FlaskApp 运行mod wsgi and apache2在 Ubuntu 服务器上 我尝试运行烧瓶应用程序localhost成功 然后部署到ubuntu服务器上 但是当我尝试更新数据库时 出现错误 Failed to up
  • 如何用Block简化回调逻辑?

    假设我需要与一个提供协议的类进行通信 并在操作完成时调用委托方法 如下所示 protocol SomeObjectDelegate required void stuffDone id anObject void stuffFailed e
  • AppDelegate 的变量用作全局变量不起作用

    我想使用我的 AppDelegate 来存储任何其他类都可以访问的对象 我已经像这样声明了这个 AppDelegate interface MyAppDelegate UIResponder
  • Apache 反向代理的基本身份验证问题

    我想为在 Ubuntu 服务器 12 04 1 上运行的 Apache 反向代理站点添加基本身份验证 网络应用程序是Jenkins http jenkins ci org运行在 Java EE 容器上 我在中添加了以下配置httpd con
  • 如何从日期中获取小时、分钟和上午/下午? [复制]

    这个问题在这里已经有答案了 我尝试从日期中提取小时 分钟和上午 下午 但我得到 NULL 输出 我在下面显示了我的代码 请查看 NSString dateStr 29 07 2013 02 00am NSDateFormatter form
  • 断点条件错误

    我已经根据条件设置了断点 event name isEqualToString Some Name 这很好用 但是 当我尝试添加另一个带有条件的断点时 part name isEqualToString Some Value With A
  • 由于 2.23 导致 iOS 应用程序被拒绝 - iOS 数据存储指南

    以下是 Apple 关于拒绝的消息 2 23 应用程序必须遵循 iOS 数据存储指南 否则将被拒绝 2 23 详情 在启动和内容下载时 您的应用程序会存储 6 5 MB 这并不意味着 遵守 iOS 数据存储指南 下一步 请验证只有用户使用您
  • 如果加载 dylib,垃圾收集工作队列会崩溃

    我们正在将应用程序从 10 6 移植到 10 8 我正在查看我们在应用程序中加载的 dylib 我面临着非常不寻常的崩溃垃圾收集工作队列并附有以下消息 malloc Thread suspend unable to suspend a th

随机推荐

  • 如何在Tomcat上安装和使用CDI?

    我正在创建我的第一个项目 Java EE 7 但遇到了麻烦 感谢任何帮助 雄猫7 0 34 JSF 2 2 Primefaces 3 5 javaee api 7 0 jar 当应用程序启动时 Tomcat 日志显示以下消息 validat
  • 回调函数触发得太早

    我在 jQuery 中有这个简单的函数 function detailspage page if page checkcurrent checkcurrent page div details children div slideUp sl
  • 如何打印列表中的类型

    所以我得到了一个列表 我必须打印列表中每个项目的类型 我可以清楚地看到有字符串和整数 但我需要它在 Python 中打印出来 我们刚刚了解到for 循环所以我觉得这就是他们正在寻找的东西 但我无法将其打印出来 ls type item fo
  • 在使用 ZEIT Now 部署的 Next.js 应用程序中使用绝对导入

    在 Next js 9 教程中建议的方法导入共享组件是通过相对路径 比如 import Header from components Header 我想使用绝对导入 例如 import Header from components Head
  • listview 与 arraylist,android 中的简单适配器

    我尝试使用 arraylist 和简单适配器在列表视图中显示一些内容 我尝试了类似下面的操作 但结果显示了数组列表的姓氏 我有什么错我无法理解 final ListView listView ListView findViewById R
  • 查找正在运行的进程的 PID 并存储为数组

    我正在尝试编写一个 bash 脚本来查找正在运行的进程的 PID 然后发出终止命令 我已经部分工作了 但我面临的问题是可能有多个进程正在运行 我想向找到的每个 PID 发出终止命令 我想我需要将每个 PID 放入一个数组中 但我不知道如何做
  • C# + SQL Server ExecuteScalar() 不返回最后插入的 id

    我有以下函数 它执行查询并在成功时返回 true 在失败时返回 false 不 我想扩展该方法 以便在触发每个插入查询时 类 varinsertId包含最后插入的行的 ID 问题是insertId总是 0 所以不知何故executeScal
  • jQuery - 动态div高度等于整个窗口的高度

    我正在使用这里找到的代码jQuery 动态div高度 现在 当您调整窗口大小时 高度更改可以正常工作 但是如果向下滚动 高度不会改变 这意味着窗口属性不包含超出浏览器窗口大小的内容 因此 如果向下滚动 高度不会增加 那么我可以添加什么 那就
  • powershell运行java进程问题

    我正在尝试在 Windows XP 中通过 Powershell 运行 java 进程 这是命令 java exe cp common jar Dcontext atest1 Dresourcepath DW Install 所以 类路径是
  • 如何实现水平滚动选项卡?

    我正在尝试实现这个应用程序 目前我已经在上面设计了选项卡 由于我有超过 7 个选项卡 所以看起来太拥挤了 我该如何设计才能使 tabwidget 可以水平滚动 我在市场上的一些应用程序上看到过这种设计 但不知道如何在我的应用程序中实现它 我
  • gfortran 中的 ieee_arithmetic 内在模块

    我需要使用 gfortran 编译一个依赖于的库ieee arithmetic 但是发现gfortran无法识别这个模块 例如用代码a f90 program test use intrinsic ieee arithmetic real
  • 如何在单页应用程序中处理非根 URL?

    我尝试使用 Rails 3 2 和 Backbone js 以及 pushState 选项制作一个单页应用程序 但遇到了一些我不理解的问题 如果我加载应用程序的根 URL 一切都会正常 Rails 返回一个带有 JS 的 HTML 布局 它
  • 在批处理脚本中获取特定路径的父目录

    您好 我在批处理文件的变量中有完整的文件路径 如何获取其一级 二级父目录路径 set path C SecondParent FirstParent testfile ini 不使用变量PATH为了这 PATH 是命令提示符使用的内置变量
  • Facebook iOS SDK - 在 Graph API v2.4 中获取好友列表

    我正在使用下面的代码来获取使用应用程序的 Facebook 好友 Issue a Facebook Graph API request to get your user s friend list FBSDKGraphRequest req
  • 仅当 iOS11 可用时才包含类的扩展

    我正在尝试扩展一个用 Obj C 编写的类 并包含一个用 Swift 编写的扩展 使其符合UIDropInteractionDelegate 像这样 available iOS 11 0 extension NoteEditViewCont
  • Pandas groupby 并计算百分比变化

    我参考如何为 groupby DataFrame 创建滚动百分比 import pandas as pd data product a 1 31 2014 53 product b 1 31 2014 44 product c 1 31 2
  • 从 shell 禁用 DeviceAdmin?

    我正在尝试从 shell 卸载应用程序 但是该应用程序正在以设备管理员身份运行 因此shell gt adb uninstall com example test不工作 如何从 shell 禁用设备管理员 通常 通过设备管理员屏幕撤销管理访
  • 使用 jQuery 将表单数据转换为 JavaScript 对象

    如何将表单的所有元素转换为 JavaScript 对象 我希望有某种方法可以从我的表单自动构建 JavaScript 对象 而不必循环每个元素 我不想要一个字符串 如返回的 formid serialize 我也不希望返回的地图 formi
  • 控制台输出是阻塞操作吗?

    当Java程序调用System out println 或Scala程序调用println 时 线程会阻塞吗 我正在编写一个包含大量子任务的 Scala 程序 每个子任务都在 Future 内执行 建议 actor 和 future 内部的
  • 如何将 Obj-C 2.0 与 GNUstep 结合使用?

    我知道 libobjc2 的存在 并且我认为我需要使用 clang 而不是 GCC 但我找不到有关编译过程有何不同的任何基本说明 任何人都可以给明确的分步说明关于获取 配置 编译和使用 GNUstepUbuntu 中的 Objective