Ld: символ не найден для архитектуры x86_64 (Xcode 4)//opengles.o

Я делаю приложение с командами команд xcode с внешними библиотеками и получаю некоторые ошибки.

что я пытался их восстановить:

  • Создание с помощью другого компилятора
  • удалите папку GLES и добавьте ее снова
  • Создайте его на 32 и 64

Я что-то пропустил относительно opengles.cpp?

Если у вас есть представление о том, что можно сделать дальше, скажите так, ниже вы можете найти всю информацию о проекте и ошибке. Если вам нужна дополнительная информация, я рад помочь вам. Кроме того, если вы знаете, как получить образец NiUsertracker из opnni, скомпилированный в xcode 4, это также будет большой помощью для решения этой проблемы.

Ошибка:

enter image description here

Проблема может иметь какое-то отношение к этим файлам:

enter image description here

Информация о настройке проекта (это инструмент командной строки, а не приложение):

enter image description here

Снимок экрана при построении

enter image description here

Настройки сборки

enter image description here

Ответ 1

Обычно, когда я получаю такие ошибки, это потому, что я забыл связать с библиотекой. В имеющейся папке содержатся только заголовки; попробуйте найти структуру OpenGL ES. (Я думаю, что Xcode поставляется с базой GLES, попробуйте выполнить поиск.)

Ответ 2

Запустите команды вручную в терминале (Terminal.app), чтобы выяснить, в чем проблема:

[ 11:56 [email protected] ~ ]$ Ld /Users/olivierjanssens/Library/Developer/Xcode/DerivedData/scene-anlidnesspxdbhblrrwqfwybphqj/Build/Products/Debug/scene normal x86_64
[ 11:56 [email protected] ~ ]$ cd /Users/olivierjanssens/Documents/xcode/scene
[ 11:56 [email protected] ~ ]$ setenv MACOSX_DEPLOYMENT_TARGET 10.7
[ 11:56 [email protected] ~ ]$ /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 [email protected] ~ ]$ export MACOSX_DEPLOYMENT_TARGET="10.7"

Кажется, что вам не хватает настроек для вашей конфигурации сборки. Возможно, имя приложения (MyApp.app). Убедитесь, что вы ничего не пропустили с вкладки "Информация" в окне настроек проекта (просто нажмите верхний элемент из списка файлов слева).

Из llvm-gcc man page:

-o filename Укажите выходной файл для имени файла.

Ответ 3

удалите фреймворк. И добавьте его снова. Запустите Xcode и перезапустите его.