Xcode 4 - не удалось с ошибкой кода выхода 1 - PullRequest
1 голос
/ 26 августа 2011

Я видел несколько сообщений об этой ошибке, я прочитал их все, но безуспешно, буду рад решению. Вот вывод, который я получаю при компиляции ...

ld: duplicate symbol _pointOffsetArray in /Users/admin/Library/Developer/Xcode/DerivedData/Display_Cubes_2-acsuoldwvhwsnjfowhhxfsmdeekc/Build/Intermediates/Display Cubes 2.build/Debug-iphonesimulator/Display Cubes 2.build/Objects-normal/i386/Display_Cubes_2ViewController.o and /Users/admin/Library/Developer/Xcode/DerivedData/Display_Cubes_2-acsuoldwvhwsnjfowhhxfsmdeekc/Build/Intermediates/Display Cubes 2.build/Debug-iphonesimulator/Display Cubes 2.build/Objects-normal/i386/Display_Cubes_2AppDelegate.o for architecture i386
collect2: ld returned 1 exit status
Command /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/llvm-g++-4.2 failed with exit code 1

Ответы [ 2 ]

2 голосов
/ 26 августа 2011

Это означает, что у вас, вероятно, есть глобальный символ _pointerOffsetArray (или что-то подобное) , определенный в двух разных файлах. Найдите все случаи, когда этот символ определен глобально, и если вы найдете два разных объявления:

  1. Если они нужны только в соответствующих файлах, укажите для них ключевое слово static.

  2. Если символ необходимо «разделить» между двумя файлами, убедитесь, что он определен только в одном месте. Вы можете обратиться к нему в другом файле, используя спецификатор extern для его объявления (в этом другом файле).

Если вы еще не знаете, вы действительно должны прочитать о том, как работают классификаторы extern и static.

В вашем случае символ, вероятно, определяется дважды в Display_Cubes_2ViewController.m или Display_Cubes_2AppDelegate.m (или, скорее всего, вы импортируете заголовочный файл в оба этих файла, который определяет этот символ).

0 голосов
/ 26 августа 2011

Я считаю, что повторяющиеся символы находятся в Display_Cubes_2ViewController и Display_Cubes_2AppDelegate.Попробуйте переименовать их.

Кроме того, вы можете попробовать очистить папку сборки с помощью

Command + Option + Shift + K

Хотя это можетпохоже на общее решение, это помогло мне решить некоторые глупые проблемы компиляции в прошлом.Удачи!

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