.h файл не найден
Я работаю над приложением в xcode 4, и все идет отлично, тогда что-то странное только начинало. Каждый раз, когда я создаю новый класс (любой тип класса, ViewController, NSObject и т.д.) И импортирую его в другой .m файл, я получаю сообщение об ошибке "className.h" файл не найден.
Файлы находятся в проекте, а смысл кода в xcode даже присваивает имя класса, когда я набираю оператор #import.
Я ушел из xcode, затем очистил проект и ничего не сделал.
Любые идеи, это сводит меня с ума!
Ответы
Ответ 1
У меня была одна и та же проблема, и я попробовал вышеупомянутые решения. То, что сработало для меня, было чистым от проекта.
В строке меню перейдите к...
Продукт → Очистка
Когда это будет завершено, удерживайте клавишу выбора и снова в строке меню перейдите к...
Продукт → Очистить папку сборки
Я не уверен, нужна ли чистая папка сборки. Для меня просто становится привычкой делать то и другое. Я должен сделать это больше, чем хотелось бы в Xcode.
Ответ 2
Я столкнулся с той же проблемой, и следующие шаги решают мои проблемы:
- Перейти к цели проекта.
- Перейдите к "Фазам сборки"
- Разверните "Компиляция источников"
- удалите [имя файла, вызвавшее ошибку] .m
- Добавьте файл обратно.
- Прокрутите вниз, в Этапы сборки, до "Заголовки (n элементов)" и добавьте файл .h в раздел "Public/Private"
Ответ 3
эта проблема возникает из-за циклического импорта. Скажем, если у вас есть файл заголовка Ah, и вы импортируете Bh и в Bh , если вы снова импортируете Ah то это покажет ошибку Файл Ah не найден...
Ответ 4
Для меня это оказалось настройкой для относительного пути. Когда я изменил настройку местоположения на "Относительно группы" на "Относительно проекта", неожиданно был найден заголовочный файл. Я заметил в журнале, что путь, на котором он смотрел, был неправильным, он, похоже, не правильно прошел дерево каталогов, что заставило меня попробовать другие относительные настройки.
![enter image description here]()
Ответ 5
Должна быть проблема с программным обеспечением... после того, как вы несколько раз удалили xcode и симулятор, он снова работает. Я ничего не изменил. Но теперь автозаполнение перестало работать! Que SERA SERA.
Ответ 6
Откройте файл .m, связанный с файлом .h, который дает ошибку. В Утилитах (на правой панели) перейдите к целевому членству и снимите флажок и снова проверьте (или просто проверьте, не был ли он отмечен) целевой объект, который вы хотите.
Ответ 7
возможно, вы используете #import "something.h" вместо #import ('< > ', используемый для файлов фреймворка)
Ответ 8
В инспекторе файлов я обнаружил, что мой новый путь к файлу .h
отсутствует в Pod/Classes/
Ответ 9
Моя проблема заключалась в том, что я добавил модуль MetalPetal
и не смог получить доступ к заголовку "MTIShaderLib.h"
для создания пользовательских фильтров, даже если заголовок был объявлен как открытый. Я попробовал все выше и все больше и больше и больше из других ответов, но проблема была указана в инструкциях по установке модуля, которые я пропустил.
![enter image description here]()
Что мне нужно было сделать, так это перейти к значку основного приложения (blue icon
), выбрать " Build Settings
, а затем в поле поиска я ввел header search paths
в header search paths
.
В разделе " Metal Compiler - Build Options
я перешел к " Header Search Paths
в Header Search Paths
и нажал arrow
.
Я нажал " debug
(затем release
потом), и во всплывающем окне я нажал знак " +
внизу и ввел:
$ {} PODS_CONFIGURATION_BUILD_DIR/MetalPetal/MetalPetal.framework/Headers
Я сделал это для них обоих.
![enter image description here]()
![enter image description here]()
Проблема была решена после многих разочаровывающих часов.
Ответ 10
Убедитесь, что путь к заголовку пользователя указан правильно!
Ответ 11
В настройках сборки... изменение стандартной библиотеки C++ с libstd++ (GNU C++) на lib C++ (LLVM) сработало для меня !!
Ответ 12
Я решил проблему, когда обнаружил, что при запуске import "FileName"
типа import "FileName"
происходит автозаполнение для некоторых заголовочных файлов, но не для всех. Я предполагаю, что файл, который не может заполнить автозаполнение, как-то сломан.
Затем я просто удаляю их из вкладки XCode файлов и снова перетаскиваю, используя команду "Добавить файл".
Ответ 13
При выборе шаблона для нового файла выберите Cocoa Touch Class, но не файл Object-C, вы получите файлы .m и .h