Datei "Graphics.hpp" nicht gefunden
-
Die Beispiele stammen aus dem Buch "C++ Einführung" von Ullrich Breymann
Fehlermeldung:
E:\Programmierung\C++\Lernen\Buchbeispiele\Grafik>g++ -std=c++14 -o "grafik.exe" "grafik.cpp" In file included from grafik.cpp:1:0: C:/MinGW/SFML/include/SFML/Graphics.hpp:32:27: fatal error: SFML/Window.hpp: No such file or directory compilation terminated.Speicherort der Datei "Graphics.hpp"
C:\MinGW\SFML\include\SFMLKompilieren.bat
g++ -std=c++14 -c "fonts.h" g++ -std=c++14 -o "grafik.exe" "grafik.cpp" pauseGrafik.cpp
#include <SFML/Graphics.hpp> #include <iostream> #include "fonts.h" int main() { constexpr int sizeX = 800; constexpr int sizeY = 600; sf::RenderWindow window(sf::VideoMode(sizeX, sizeY), "Das Fenster"; sf::CircleShape kreis(100); kreis.setFillColor(sf::Color(255, 0, 0, 100)); float x = 0.0; float y = sizeY - 2 * kreis.getRadius(); kreis.setPosition(x,y); sf::Font font; if(!font.loadFromFile(ArialFontDatei)) { std::cer << "Font nicht gefunden\n"; } sf::Text text("Hello", font, 80); text.setColor(sf::Color::Black); text.setPosition(x + 2 * kreis.getRadius(), y); while(window.isOpen()) { sf::Event event; while(window.pollEvent(event)) { if(event.type == sf::Event::Closed) { window.close(); } } window.clear(sf::Color::White); window.draw(kreis); windows.draw(text); window.display(); } }fonts.h
#ifndef FONTS_H #define FONTS_H #ifdef WIN32 constexpr const char* ArialFontDatei = "C:/Windows/Fonts/arial.ttf"; // Rest aus Beispieldatei für andere Betriebssysteme und deswegen weggelassen #endif #endifFür Fehleranalysen eurerseits wäre ich sehr dankbar!
-
In dem Buch steht das include für Graphics.hpp so mit dem ganzen Pfad drin?
Richtig wäre wohl SFML/Graphics.hpp, der Rest wird dem Compiler mit -I "der Rest" übergeben.
-
Setzt ein Includeverzeichnis auf C:/MinGW/SFML/include/
In deine Datei benutzt du dann #include <SFML/Graphics.hpp>.
Dann sollte es funktionieren.
-
Entschuldigung, Nein, ich hatte ursprünglich mit der Pfadangabe
<SFML/Graphics.hpp> gearbeitet, und es hat nicht funktioniert,
diese absolute Pfadangabe war nur eine Verzweiflungstat von mir, ich habe es abgeändert
-
Ich brauche immer noch Hilfe

-
Du musst den Includepath dem Compiler mitteilen.
-
Dexter1997 schrieb:
Ich brauche immer noch Hilfe

Nein
-
du musst mit -IC:/MinGW/SFML/include compilieren, und außerdem mit -LC:/MinGW/SFML/lib und -lsfml-graphics -lsfml-window -lsfml-system linken.
eine datei fonts.h wird nicht einzeln übersetzt, weil sie includiert wird!
ruf doch mal make im Verzeichnis kap7 auf, dann wird alles übersetzt. dabei werden sämtliche einstellungen angezeigt.
genaues lesen hilft.
-
Alles klar, vielen Dank, ich werde das so machen wie von euch beschrieben
