Я новичок в Objective C и (к сожалению) также в проекте, над которым я работаю. Мне дали небольшой пример проекта, который ссылается на работу моих предшественников (на C ++) и использует его для приложения для iPhone (Objective C). Вместо того, чтобы расширять образец (это было быстро и грязно, и я не хотел возиться с этим), я создал новый проект с нуля для своих вещей. Чтобы заставить его работать, мне нужно установить те же ссылки на предыдущие библиотеки, что и на другие, но хотя в своих настройках я не могу найти никаких отличий от существующего проекта, это не сработает.
С помощью коллег и Google я достиг этого:
1) Проект включает в себя два библиотечных файла, libyid.a и libvrpn.a, через диалог Xcode «Добавить файлы». Он автоматически добавлял пути библиотек к путям поиска библиотек в настройках сборки, а файлы отображались в структуре папок проектов в XCode.
Насколько я могу судить, этот бит не вызывает проблем.
Изменить: если я удаляю эти файлы из проекта, я получаю те же ошибки. Теперь я думаю, что XCode может разрешать заголовки, но не может найти реализацию и что библиотеки, возможно, были там, но не были должным образом настроены?
2) Один из моих пользовательских классов использует
#import "DisplayYid.h"
Я добавил путь к местоположению файла в «Пути поиска по заголовку» в настройках сборки, и, похоже, он найден в порядке. (В какой-то момент я также добавил файл с помощью диалога «Добавить файлы», но он ничего не изменил, поэтому я оставил его таким образом)
Теперь проблема: в
@interface YidController : NSObject {
DisplayYid *myYid;
// (etc. etc.)
}
идентификатор «DisplayYid», кажется, остается неизвестным (ошибка: ожидаемый список спецификаторов-спецификаторов перед DisplayYid). Кроме того, все определения классов в заголовках, которые сам DisplayYid включает в себя yield
error: expected '=', ',', ';', 'asm' or '__attribute__' before '__declspec'
Мои знания здесь, к сожалению, очень ограничены, но мне кажется, что XCode может найти рассматриваемые заголовки, но как-то ожидать содержимого в другом формате / языке?
Когда я включил DisplayYid.h как файл в иерархию проекта, я попытался установить его тип файла в инспекторе файлов на «Заголовок C ++» (как это было предложено некоторыми хитами, которые я нашел в Google для моей проблемы), но это не изменить вещь.
Я чувствую, что упускаю какую-то крошечную, но важную деталь, но не достаточно уверена в этом, чтобы проверить дальше Надеюсь, кто-нибудь увидит мою недостающую ссылку? И извините, если это слишком долго, я просто попытался включить подробные шаги на случай, если это проблема.
Заранее спасибо за ваше время;)
РЕДАКТИРОВАТЬ: Этот вопрос , кажется, та же проблема, особенно тот факт, что он получает ошибку несколько раз из просто скопированных файлов. Но ни одно из предложенных решений, похоже, не работает для меня.