编译Love 2D Xcode出现Undefined Symbols for Architecture错误。

当我在 Xcode 中编译 C++ 时,如何让编译器识别这些“符号”?以下是错误信息(我有一种感觉它正在忽略框架,然后给出缺少框架的错误)。

ld: 警告: 忽略文件 /Developer/SDKs/MacOSX10.7.sdk/Library/Frameworks/IL.framework/IL,文件缺少所需的体系结构 x86_64
ld: 警告: 忽略文件 /Developer/SDKs/MacOSX10.7.sdk/Library/Frameworks/Vorbis.framework/Vorbis,文件缺少所需的体系结构 x86_64
ld: 警告: 忽略文件 /Developer/SDKs/MacOSX10.7.sdk/Library/Frameworks/FreeType.framework/FreeType,文件缺少所需的体系结构 x86_64
ld: 警告: 忽略文件 /Developer/SDKs/MacOSX10.7.sdk/Library/Frameworks/Lua.framework/Lua,文件缺少所需的体系结构 x86_64
ld: 警告: 忽略文件 /Developer/SDKs/MacOSX10.7.sdk/Library/Frameworks/Ogg.framework/Ogg,文件缺少所需的体系结构 x86_64
ld: 警告: 忽略文件 /Developer/SDKs/MacOSX10.7.sdk/Library/Frameworks/physfs.framework/physfs,文件缺少所需的体系结构 x86_64
ld: 警告: 忽略文件 /Developer/SDKs/MacOSX10.7.sdk/Library/Frameworks/libmodplug.framework/libmodplug,文件缺少所需的体系结构 x86_64
ld: 警告: 忽略文件 /Developer/SDKs/MacOSX10.7.sdk/Library/Frameworks/mpg123.framework/mpg123,文件缺少所需的体系结构 x86_64
在架构 x86_64 中未定义符号:
  "_luaL_newstate",在 love-33750B9883D2854D.o 中引用:
      love::thread::Thread::ThreadThread::SDL_main() 中
  "_luaL_openlibs",在 love-33750B9883D2854D.o 中引用:
      love::thread::Thread::ThreadThread::SDL_main() 中
  "_lua_createtable",在 love-33750B9883D2854D.o 中引用:
      love::luax_register_module(lua_State*, love::WrappedModule const&) 中
      love::luax_insistglobal(lua_State*, char const*) 中
      love::luax_insist(lua_State*, int, char const*) 中
      auxiliar.o 中的 _auxiliar_newclass
      select.o 中的 _global_select
      select.o 中的 _make_assoc
      ...
  "_lua_pushstring",在 love-33750B9883D2854D.o 中引用:
      love::luax_register_type(lua_State*, char const*, luaL_Reg const*) 中
      auxiliar.o 中的 _auxiliar_newclass
      auxiliar.o 中的 _auxiliar_tostring
      auxiliar.o 中的 _auxiliar_add2group
      auxiliar.o 中的 _auxiliar_getgroupudata
      tcp.o 中的 _global_create
      ...
  "_lua_rawseti",在 love-33750B9883D2854D.o 中引用:
      love::luax_table_insert(lua_State*, int, int, int) 中
      Body-3A4BFE6EB3B8CF74.o 中的 love::physics::box2d::Body::getFixtureList(lua_State*) const
      World.o 中的 love::physics::box2d::World::getBodyList(lua_State*) const
      World.o 中的 love::physics::box2d::World::getJointList(lua_State*) const
      World.o 中的 love::physics::box2d::World::getContactList(lua_State*) const
      love-9091511F51D4A764.o 中的 _luaopen_love
      ...

(错误信息继续,但类似,因此我只抽样)

点赞
用户578091
用户578091

我找到了问题:

导入的框架存在引用错误(意味着 Xcode 没有找到相应的框架),我删除了这些错误引用并重新链接它们,一切都可以正常编译了。

2012-07-06 07:24:39