Почему проект может скомпилировать и найти необходимые заголовочные файлы, а затем я добавляю строку, которую он не может найти, он не компилируется, я удаляю эту строку (код теперь выглядит точно так же, как и при первой компиляции ) и теперь вдруг он не может найти файлы заголовков, которые он мог найти только минуту назад? Я не изменил ни одну из файловых структур, абсолютно ничего не изменилось, кроме добавления строки, ее удаления, и все сломано.
Я следовал всем инструкциям в учебниках по Ogre3D вплоть до создания первый урок. Все отлично работает, и первый урок компилируется и запускается. Поэтому я решил посмотреть, смогу ли я получить другой учебник сделать то же самое, но, увы, компилятор выдает ошибку: нет такого файла или каталога при просмотре строки #include "Ogre.h"
, Итак, я возвращаюсь к структуре первого урока, включаю все строки, и он все еще компилируется, как и ожидалось, и затем я решаю удалить все исходные файлы и все, и я беру самую первую директиву include из BaseApplication.h, линия #include <OgreCamera.h>
и я положил эту одинокую строку в одном файле main.cpp
и попытаться скомпилировать эту 1-строчную программу. Возникает та же ошибка, не может найти OgreCamera.h
! Какие??
Итак, что же такого особенного в том, что учебная структура компилируется, но когда я пытаюсь сделать в основном ту же самую вещь, это приводит в негодность.
Обновить
Даже странные вещи происходят сейчас … Я добавил строку #include "Ogre.h"
в файле BaseApplication.h структуры учебного пособия он не может найти Ogre.h. Поэтому я удаляю эту строку и пытаюсь скомпилировать программу (которая была скомпилирована не более 10 секунд назад), и теперь она больше не может найти OgreCamera.h
! Но это буквально не изменилось вообще в любой форме или форме, которую я могу сказать. Это путаница сводящих с ума пропорций сейчас!
Откуда разрешаются заголовочные файлы, определяется не в самом коде, а в настройках проекта IDE и / или code :: blocks. это руководство больше подходит для настройки каталогов поиска для заголовочных файлов Ogre.
Если бы это работало некоторое время назад, а не сейчас, я подозреваю, что вы, вероятно, допустили простую ошибку, например, переключились с Debug на Release, настроив только каталоги поиска для сборки Debug в свойствах проекта. (При выборе параметров сборки по умолчанию выбирается «Отладка», а не все конфигурации). Попробуйте повторно добавить каталоги Ogre в сборках Debug и Release.
Code :: Blocks также позволяет добавлять глобальные каталоги поиска для IDE в настройках компилятора и отладчика для часто используемых библиотек. Вы также можете создать глобальную переменную для местоположения Ogre SDK, чтобы упростить добавление к каждому новому проекту. (#ogre.include)
вместо добавления полного / относительного пути.
Я считаю, что я знаю, что я сделал для себя здесь .. и воссоздал проблему
Я следовал инструкциям и настраивал приложение к письму, и у меня возникла другая проблема, когда я решил скопировать весь проект, который я уже сделал, выполняя утомительные настройки, необходимые. Без осознания того, что копирование всего проекта путем простого копирования-вставки каталога не несет в себе трудоемких настроек, необходимых. И поэтому, вероятно, не обращая внимания на «Цель актуальна». Построение сообщения, предполагая, что оно скомпилировано. Я изменил файлы, они не скомпилировались должным образом, а затем вернули их обратно в исходное состояние, и все равно не скомпилировали, потому что они больше не обновлялись.
Я запомню это … надолго.