ld: символ (ы) не найден для архитектуры x86_64 (Xcode 4) // opengles.o - PullRequest
11 голосов
/ 04 ноября 2011

Я делаю приложение командной строки 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

Ответы [ 3 ]

7 голосов
/ 18 марта 2012

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

2 голосов
/ 04 ноября 2011

Запустите команды вручную в терминале (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:

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

1 голос
/ 05 ноября 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...