0

我想使用 SVG 格式使用 Objective-C 为我的游戏 ui 设置主题。问题是现有框架可以完成我需要的一切(按名称加载特定的 SVG 图层,非常准确)由于某种原因无法构建,并出现以下错误:

警告

函数“NSStringFromCGRect”的隐式声明在 C99 中无效

错误

_NSStringFromCGRect”,引用自:-[SVGDocument parseAttributes:] in SVGDocument.o Symbol(s) not found for architecture x86_64 Clang: error: linker command failed with exit code 1 (use -v to see invocation)

我不知道其中任何一个是什么意思,但可以肯定地说它使它无法使用。

我在gottcode上找到了另一种游戏形式的解决方案;您可能会看到,唯一的问题是它使用的是 QT 框架,而不是 Objective-C。

  • 是否可以修复SVGKit以使框架编译?
  • 可以移植 Qsvg 吗?

如果任何一个问题的答案都是肯定的,那么请指出我正确的方向。

我设法在其中一条评论的帮助下找到了一个有效的,但输出带有绿色色调。有谁知道这可能是什么原因?以及如何解决?

4

2 回答 2

0

NSStringFromCGRect是 Core Graphics 的 UIKit 新增功能之一,因此您可能已经尝试构建一个面向 iOS 的库。该特定方法并不难重写,但听起来您可能只是在某处犯了某种选择错误,因为SVGKit的 Git 存储库似乎显示了 Mac 目标。我从那里获取了一份副本(使用下载为 .tar.gz 链接),在 Xcode 中打开它并点击“我的 Mac 64 位”的构建并收到四个警告,但编译完成。

于 2012-04-28T21:43:52.200 回答
0

SVGKit几乎支持 OS X - 但重点是让核心库完全符合 SVG 规范,几乎所有从事它工作的人都只使用 iOS。

所以......有一些地方人们不小心使用了仅限 iOS 的库(尽管我们已经在这里的新分支上熨平了大部分这些库:https ://github.com/adamgit/SVGKit/tree/transforms -但该分支目前正在“开发中”)。

如果您在当前 SVGKit 版本中遇到构建错误,这通常意味着您只需在每个错误周围为 IOS 放置一个 #if 构建开关,并将其替换为相同的仅 OS-X 方法(通常相同的名称,但使用 " NS”而不是“UI”)

于 2012-07-30T14:33:58.177 回答