SDL 缺少 x86_64 架构

Posted

技术标签:

【中文标题】SDL 缺少 x86_64 架构【英文标题】:SDL missing x86_64 architecture 【发布时间】:2012-03-26 15:02:03 【问题描述】:

我正在尝试让 XCode 的 SDL 示例代码在我的 Snow Leopard 机器上运行,但是每次我尝试构建时都会收到此错误: “ld:警告:在 /Users/me/Dropbox/Programming/Obj C/Space/SDL.framework/SDL,文件中缺少所需的架构 x86_64” 最初它是到“/Library/Frameworks/...”,但我已将整个 SDL.framework 复制到我的项目中并链接到它,但错误仍然存​​在。

【问题讨论】:

【参考方案1】:

这是来自 SDL 主页的预构建二进制文件的一个已知问题。您需要自己编译 SDL 才能使其工作。

最简单的方法是使用Homebrew。您可以从终端使用single command 安装 Homebrew。之后,运行

brew install sdl

你应该很高兴。

【讨论】:

我已经这样做了,并且在 /usr/local/Cellar 中获得了 SDL 文件夹,但是它的设置与我习惯的框架不同,我需要在 XCode 项目中包含什么?或者我应该用 /Cellar/sdl/.../include 中的标题替换 /Library/Frameworks 中的框架?【参考方案2】:

从这里下载最新的 SDL.Framework:

http://www.libsdl.org/download-1.2.php

它有一个名为 SDL.framework 的文件夹,用下载的框架替换现有的框架。

您可能需要进行清理,然后构建以使其正常工作。

与您的问题完全不相关,但出于同样的原因,我还需要替换这些框架:

http://www.libsdl.org/projects/SDL_mixer/ http://www.libsdl.org/projects/SDL_image/

【讨论】:

以上是关于SDL 缺少 x86_64 架构的主要内容,如果未能解决你的问题,请参考以下文章

gcc:架构 x86_64 的未定义符号,缺少 vtable

MATLAB:mex-compile 上缺少框架 – 架构 x86_64 的未定义符号

忽略文件,文件中缺少所需的架构 x86_64 .../Social.framework/Social (3 Slices)

Xcode 5.1:移除 x86_64 架构

架构 x86_64 的重复符号

警告“将架构 arm64 映射到 x86_64”是啥意思?