iPhone - странные ошибки компиляции - PullRequest
1 голос
/ 14 апреля 2009

У меня есть проект iPhone (Xcode), который работал нормально. Что-то должно было быть изменено, потому что внезапно я получаю ошибки, относящиеся к NSLog, UIActionSheet и ряду других предметов, которые я использовал JUST FINE до сих пор. Что мне не хватает? Любая помощь будет принята с благодарностью!

Checking Dependencies

Ld /Users/markgoldberg/Documents/iPhoneApps/iPhone_PNP/build/Debug-iphonesimulator/iPhone_PNP.app/iPhone_PNP normal i386
    cd /Users/markgoldberg/Documents/iPhoneApps/iPhone_PNP
    setenv MACOSX_DEPLOYMENT_TARGET 10.5
    setenv PATH "/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
    /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2 -arch i386 -isysroot /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.0.sdk -L/Users/markgoldberg/Documents/iPhoneApps/iPhone_PNP/build/Debug-iphonesimulator -F/Users/markgoldberg/Documents/iPhoneApps/iPhone_PNP/build/Debug-iphonesimulator -filelist /Users/markgoldberg/Documents/iPhoneApps/iPhone_PNP/build/iPhone_PNP.build/Debug-iphonesimulator/iPhone_PNP.build/Objects-normal/i386/iPhone_PNP.LinkFileList -mmacosx-version-min=10.5 -framework Foundation -framework UIKit -framework CoreGraphics -o /Users/markgoldberg/Documents/iPhoneApps/iPhone_PNP/build/Debug-iphonesimulator/iPhone_PNP.app/iPhone_PNP
Undefined symbols:
  ".objc_class_name_SettingsWindowViewController", referenced from:
      literal-pointer@__OBJC@__cls_refs@SettingsWindowViewController in iPhone_PNPAppDelegate.o
ld: symbol(s) not found
collect2: ld returned 1 exit status

Ответы [ 4 ]

3 голосов
/ 15 апреля 2009

Вы решили проблему, но, вероятно, не знаете почему. Вероятно, важно знать, что было не так и почему делать то, что вы сделали, это исправить, чтобы вы могли избежать повторения.

Скорее всего, проблема в том, что ваш файл SettingsWindowViewController.m не был членом цели iPhone_PNP, которую вы строили. Проекты - это просто контейнеры; цели на самом деле создают вещи, и если файл находится в проекте, но не назначен цели, он не будет собран.

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

Более простой способ сделать это в будущем - просто перетащить исходный файл в цель или выбрать Получить информацию о нем и установить флажок цели на вкладке Общие.

1 голос
/ 15 апреля 2009

Вы нигде не определили класс SettingsWindowViewController.

Из вашего решения (удалите SettingsWindowViewController.m из проекта и повторно добавьте его), похоже, что они не были включены в этап "Компиляция исходников" цели, предложенный cdespinosa). Вы можете проверить это, открыв твист «Компилировать источники» в целевом элементе на панели «Группы и файлы».

В дополнение к методам, которые cdespinosa предлагает для установки целевого членства, вы также можете показать дополнительный столбец с «целевым членством» на панели «группы и файлы», щелкнув левой кнопкой мыши по заголовку.

1 голос
/ 14 апреля 2009

Попробуйте чистую сборку.

0 голосов
/ 15 апреля 2009

ОК - Я нашел проблему по этому URL: http://forums.macrumors.com/showthread.php?t=475818

Мне просто пришлось удалить мои файлы SettingsWindowViewController.h & SettingsWindowViewController.m из моего проекта и заново добавить их. Проблема решена.

Спасибо всем!

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