我正在尝试将SDL_ttf框架添加到xCode 4.6。但是当我使用它的一些功能时,我得到错误:
架构x86_64的未定义符号: “_TTF_CloseFont”,引自: main.o中的clean_up() “_TTF_Init”,引自: main.o中的init() “_TTF_OpenFont”,引自: main.o中的load_files() “_TTF_Quit”,引自: main.o中的clean_up() “_TTF_RenderText_Solid”,引自: main.o中的_SDL_main ld:找不到架构x86_64的符号 clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)
使用的东西是TTF_font *,TTF_Init(),TTF_OpenFont(),TTF_RenderText_Solid,TTF_CloseFont()和TTF_Quit()
类型如何解决此问题?
我之前添加了SDL Framework和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,(How can I disable ARC for a single file in a project?)。我不知道它做了什么,但它让我能够很好地运行程序,但是这可以回来在后面咬我了吗?)
答案 0 :(得分:0)
您是否只看到x86_64架构的错误?最后我检查过,SDL库不是为64位构建的。听起来快速而简单的解决方法就是将您的目标架构更改为i386,在64位版本的Mac OS X下仍可以正常运行。
如果您真的希望为64位构建应用程序,请尝试使用MacPorts来获得64位版本的SDL_ttf.framework:
sudo port install libsdl_ttf-framework
答案 1 :(得分:0)
我遇到了同样的问题(当我切换目标架构时出现了额外的错误),但解决了它。我意识到我忘记了您发布的用于安装新库的链接中的一步:
http://lazyfoo.net/SDL_tutorials/lesson03/mac/xcode/index.php
步骤3,您需要告诉链接器有关项目构建设置中的新库。