При создании нового файла отображается «<SFML / Graphics.hpp> нет такого файла или каталога»

0

Всякий раз, когда я создаю новый файл или класс в блоках кода и включаю заголовок Graphics или любой заголовок sfml, компилятор не говорит об этом файле или директории.

Когда я работаю над одной файловой программой, отлично работает, но когда я создаю новый файл и включаю файл в тот же проект, компилятор начинает показывать ошибки.

Он показывает эту ошибку:

E:\codes\sfml_project\main.cpp: 1: 29: фатальная ошибка: SFML/Graphics.hpp: нет такого файла или каталога

Я даже попытался установить SFML 2.1 снова и связать все файлы с CodeBlocks, но это бесполезно.

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

Сначала я создал проект в кодовых блоках, который содержит файл main.cpp и код

    #include < SFML/Graphics.hpp >


    int main()

    {

        sf::RenderWindow window(sf::VideoMode(200, 200), "SFML works!");
        sf::CircleShape shape(100.f);
        shape.setFillColor(sf::Color::Green);

        while (window.isOpen())
        {
             sf::Event event;
             while (window.pollEvent(event))
             {
                  if (event.type == sf::Event::Closed)
                  window.close();
             } 

             window.clear();
             window.draw(shape);
             window.display();
        }

        return 0;
   }

это отлично работает, тогда я создал новый класс World и из file-> new-> class в кодовых блоках и включил файл SFML/Graphics.hpp

Мировой класс выглядит

Файл World.hpp содержит код

    #ifndef WORLD_HPP
    #define WORLD_HPP

    #include < SFML/Graphics.hpp >
    class World
    {
        public:
        World();
        protected:
        private:
    };

    #endif // WORLD_HPP

и файл World.cpp содержит

    #include "World.hpp"

    World::World()
    {
         //ctor
    }

на данный момент только компилятор начинает показывать ошибку

E:\codes\sfml_project\World.hpp: 4: 29: фатальная ошибка: SFML/Graphics.hpp: нет такого файла или каталога

И все файлы (World.hpp, World.cpp, main.cpp) находятся в одной папке.

  • 0
    Пожалуйста, включите минимальный пример, состоящий из - содержимого исходных файлов, их расположения в файловой системе, точного способа, которым вы вызываете компилятор (запустите компилятор из командной строки, чтобы избежать сложностей IDE), и результирующего сообщение об ошибке. (Желательно, чтобы вы также включили ту же информацию для дела с одним файлом, которое работает для вас.) Вы явно что-то сделали неправильно, но в вопросе недостаточно информации, чтобы точно определить, что именно.
  • 0
    Спасибо Mankarse за указание на это. Я редактировал Вопрос и изо всех сил пытался объяснить проблему.
Теги:
sfml
codeblocks

2 ответа

1

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

На дебианской ОС: sudo apt-get install libsfml-dev

Он отличается от остальных SFML. Я столкнулся с тем же вопросом, и это было моим недосмотром. Счастливое кодирование!

0

Ваш компилятор представляется GCC. Предполагая, что SFML/Graphics.hpp действительно находится в путях include-search компилятора, тогда ваша проблема возникает из-за кодирования:

#include < SFML/Graphics.hpp >

вместо:

#include <SFML/Graphics.hpp>

Скобки в квадратных скобках должны содержать имя заголовка для поиска, и ничего больше. Если они заключают избыточные пробелы, то избыточные пробелы считаются частью заголовка.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню