Нет такого файла или каталога после удаления дубликата подкаталога - PullRequest
7 голосов
/ 13 июня 2011

Мое приложение прекрасно создавалось и работало на симуляторе и устройстве, но я заметил, что по какой-то причине у меня был дубликат каталога в моем основном каталоге, а также некоторые дубликаты файлов. Таким образом, хотя моим основным каталогом был / MyAppName, в /MyAppName/MyAppName.

также были файлы

Я осторожно переместил любые неповторяющиеся файлы из подкаталога, удалил каталог и обновил пути к моим файлам заголовка префикса и Info.plist. Я очистил и собрал проект, однако я все еще получаю сообщение об ошибке от компилятора, которое ищет в подкаталоге дубликата (который удален), например:

arm-apple-darwin10-llvm-gcc-4.2: /MyAppName/MyAppName/main.m: такого файла или каталога нет

потому что main.m теперь находится в /MyAppName/main.m

Я не вижу переменную или настройку для поиска, кроме файлов заголовка префикса и файла Info.plist. Есть ли где-то еще, я должен посмотреть? Очевидно, что-то все еще ссылается на дубликат подкаталога, но я не вижу, где.

Ответы [ 4 ]

4 голосов
/ 13 июня 2011

Из вашего описания макета проекта звучит, как будто это проект Xcode 4.Конфигурация проекта XCode все еще думает, что main.m находится в /MyAppName/MyAppName, поэтому вам нужно обновить конфигурацию проекта для этого файла и любых других.

Выберите main.m в Навигаторе проекта (левая панель) и откройтеИнспектор файлов (правая панель).Под заголовком «Расположение» в «Инспекторе файлов» нажмите кнопку, которая выглядит как небольшое окно со значком документа;это позволит вам обновить путь к проекту для main.m.Повторите с другими файлами.В зависимости от того, сколько у вас файлов, может быть проще просто удалить их из проекта (используя навигатор проекта), убедившись, что не , чтобы удалить их, а затем снова добавить их в проект.

Вы, вероятно, в конечном итоге получили файлы на разных уровнях иерархии файловой системы, потому что при создании нового файла XCode использует выбор в Навигаторе проекта, чтобы определить, куда его поместить на диск.Если у вас есть выбранный проект, файл будет помещен в папку верхнего уровня;если вы выбрали группу, она будет находиться в любой папке, связанной с этой группой или одним из ее родителей.

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

У меня была похожая проблема (после перемещения файлов); и не мог определить, где был параметр, который настаивал на том, что main.m находится в старой папке. main.m правильно появился в дереве проекта, был правильно указан, включен в проект, и так далее; но при сборке требовалось использовать старое местоположение.

Мне удалось решить проблему, удалив main.m из проекта и повторно добавив его. Я также рекомендую выполнить полную очистку (cmd-opt-shift-K) и сборку.

2 голосов
/ 13 июня 2011

У меня была эта проблема при перемещении файлов в моем проекте. Перейдите в настройки сборки проекта и найдите main.m. Затем исправьте этот параметр.

0 голосов
/ 13 июня 2011

Не знаете, какую версию XCode вы используете, но если вы используете 3.x, вы использовали «Пустые кеши» (меню XCode), чтобы убедиться, что промежуточные файлы были удалены перед сборкой? Иногда очистка цели не помогает.

Кроме того, вы можете попробовать удалить файлы из проекта и добавить их по правильному пути.

...