SDL_ttf框架不会在 xCode 上运行,给出错误链接器命令失败,退出代码为 1

SDL_ttf framework wont run on xCode, giving error linker command failed with exit code 1

本文关键字:命令 链接 错误 失败 退出 代码 出错 框架 ttf xCode SDL      更新时间:2023-10-16

我正在尝试将SDL_ttf框架添加到xCode 4.6中。但是,当我使用它的某些功能时,我会收到错误:

建筑的未定义符号x86_64: "_TTF_CloseFont",引用自: clean_up() in main.o "_TTF_Init",引用自: init() in main.o "_TTF_OpenFont",引用自: load_files() in main.o "_TTF_Quit",引用自: clean_up() in main.o "_TTF_RenderText_Solid",引用自: _SDL_main in main.oLD:在建筑x86_64中找不到符号clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)

使用的东西是类型 TTF_font*、TTF_Init()、TTF_OpenFont()、TTF_RenderText_Solid、TTF_CloseFont() 和 TTF_Quit()

如何解决此问题?

我之前添加了 SDL 框架和 SDL_image framewor,它们都需要一些努力才能工作,主要是与 xcode 找不到标头有关。Stackoverflow帮助了大部分,谢谢。但这一次,我挣扎着忍耐了,必须寻求帮助。"clang:错误:链接器命令失败,退出代码 1(使用 -v 查看调用)"的问题之前在 stackoverflow 上出现过,但没有一个回复可以应用于这种情况。我还尝试按照不同的指南在xCode上设置框架。它没有奏效,我认为这不是问题所在,因为我已经设法让 SDL 和SDL_image都工作了。但是,如果有帮助,我确实使用本教程添加了它们:http://lazyfoo.net/SDL_tutorials/lesson03/mac/xcode/index.php

我目前正在关注LazyFoos SDL教程,由于上述问题,我 http://lazyfoo.net/SDL_tutorials/lesson07/index.php 卡在这一部分。

(不相关的小问题,为了让编译器编译主 SDL 框架,我不得不在构建阶段的编译源代码中添加 -fno-objc-arc,(如何为项目中的单个文件禁用 ARC?我不知道它做了什么,但它使我能够很好地运行程序,但是以后会回来咬我吗?

您是否只看到x86_64架构的这些错误? 最后我检查了一下,SDL 库不是为 64 位构建的。 听起来快速简便的解决方法是将目标架构更改为 i386,它仍然可以在 64 位版本的 Mac OS X 下正常运行。

如果您确实希望您的应用程序为 64 位构建,请尝试使用 MacPorts 获取 SDL_ttf.framework 的 64 位构建:

sudo port install libsdl_ttf-framework

我遇到了同样的问题(直到切换目标架构时的额外错误),但解决了它。我意识到我忘记了您发布的安装新库的链接中的步骤:

http://lazyfoo.net/SDL_tutorials/lesson03/mac/xcode/index.php

步骤#3,您需要在项目生成设置中告知链接器有关新库的信息。

相关文章: