ld:找不到架构x86_64(Xcode 4)// opengles.o的符号

时间:2011-11-04 18:49:54

标签: c++ objective-c xcode opengl opengl-es

我正在使用外部库创建一个xcode命令工具应用程序,并且遇到了一些错误。

我试图给他们解决的问题:

  • 使用不同的编译器构建
  • 删除GLES文件夹并重新添加
  • 在32和64
  • 上构建它

我错过了关于opengles.cpp的事情吗?

如果你知道接下来可以做什么,请说明,下面你可以找到有关项目和错误的所有信息。如果您需要更多信息,我很乐意为您提供帮助。另外,如果您知道如何从xcode 4中编译的opnni中获取NiUsertracker示例,那么解决此问题也将是一个很好的帮助

错误:

enter image description here

问题可能与这些文件有关:

enter image description here

项目设置的信息(它是命令行工具而不是应用程序):

enter image description here

构建

时输出的屏幕截图

enter image description here

构建设置

enter image description here

3 个答案:

答案 0 :(得分:7)

通常当我遇到这类错误时,这是​​因为我忘了与图书馆联系。你得到的文件夹只包含标题;试着找到OpenGL ES的框架。 (我认为Xcode带有GLES框架,请​​尝试搜索。)

答案 1 :(得分:2)

在终端(Terminal.app)中手动运行命令,以确切了解问题所在:

[ 11:56 jon@hozbox ~ ]$ Ld /Users/olivierjanssens/Library/Developer/Xcode/DerivedData/scene-anlidnesspxdbhblrrwqfwybphqj/Build/Products/Debug/scene normal x86_64
[ 11:56 jon@hozbox ~ ]$ cd /Users/olivierjanssens/Documents/xcode/scene
[ 11:56 jon@hozbox ~ ]$ setenv MACOSX_DEPLOYMENT_TARGET 10.7
[ 11:56 jon@hozbox ~ ]$ /Developer/usr/bin/llvm-g++-4.2 -arch x86_64 -isysroot /Developer/SDKs/MacOSX10.7.sdk -L/Users/olivierjanssens/Library/Developer/Xcode/DerivedData/scene-anlidnesspxdbhblrrwqfwybphqj/Build/Products/Debug -L/Users/olivierjanssens/Documents/xcode/scene/Libs -F/Users/olivierjanssens/Library/Developer/Xcode/DerivedData/scene-anlidnesspxdbhblrrwqfwybphqj/Build/Products/Debug -filelist /Users/olivierjanssens/Library/Developer/Xcode/DerivedData/scene-anlidnesspxdbhblrrwqfwybphqj/Build/Intermediates/scene.build/Debug/scene.build/Objects-normal/x86_64/scene.LinkFileList -mmacosx-version-min=10.7 /usr/lib/libnimCodecs.dylib /usr/lib/libnimMockNodes.dylib /usr/lib/libnimRecorder.dylib /usr/lib/libOpenNI.dylib /usr/lib/libXnVFeatures.dylib /usr/lib/libXnVHandGenerator.dylib -framework GLUT -framework OpenGL /Users/olivierjanssens/Documents/xcode/scene/Libs/glut64.lib -o

运行最后一个命令(/Developer/usr/bin/llvm-g++-4.2)后,它将显示失败的原因。

如果setenv MACOSX_DEPLOYMENT_TARGET 10.7命令失败,请将setenv替换为export,并在=之前添加10.7,如下所示:

[ 11:56 jon@hozbox ~ ]$ export MACOSX_DEPLOYMENT_TARGET="10.7"

您似乎错过了构建配置的设置。可能是应用名称(MyApp.app)。检查以确保项目设置窗口中的“信息”选项卡中没有遗漏任何内容(只需单击左侧文件列表中的顶部项目)。

来自llvm-gcc man page

  

-o filename指定输出文件为文件名。

答案 2 :(得分:1)

删除框架。然后重新添加它。找到Xcode并重新启动它。