Probleme beim Compilieren von SFML
-
n Abend
ich würde mich als fortgeschrittenen Anfänger in der C++ Sprache bezeichnen.
UNd würde gerne mal mit der SFML Bibliothek herum programmieren.
(bisher immer nur Konsole oder einfache QT Anwendungen)
Nun habe ich das Problem das der QtCreator behauptet keine Schreibberechtigung für meine SFML Dateien zu haben, bzw. das die meine Pfadangaben nicht richtig wären.
DIe beiden Bilder habe ich angehängt, um meine *.pro Datei zu zeigen und die Einstellungen im meinen KIT das ich für dieses Programm verwenden möchte.
Hoffe das mit den bildern geht so in Ordnung.
Schönen Gruß
Peter -
Hallo @PeterS,
nicht Creator, der Compiler/Linker hat Probleme.
Ersetze mal alle
\
in Pfadnamen durch/
und baue das Projekt neu (rebuild).Sollte es immer noch haken, sende bitte den Compile Output als text (nicht als Bild!)
Grüsse
-
@aha_1980 , danke erstmal für den Tipp.
Habe es nun ausprobiert. leider klappt es immer noch nicht.
Hier die Ausgabe der Kompilierung:15:07:25: Führe Schritte für Projekt SFML-Test aus... 15:07:25: Starte: "C:\Qt\5.15.0\mingw81_64\bin\qmake.exe" C:\Users\Peter\Documents\C++\SFML-Test\SFML-Test.pro -spec win32-g++ "CONFIG+=qtquickcompiler" 15:07:26: Der Prozess "C:\Qt\5.15.0\mingw81_64\bin\qmake.exe" wurde normal beendet. 15:07:26: Starte: "C:\Qt\Tools\mingw730_64\bin\mingw32-make.exe" -f C:/Users/Peter/Documents/C++/build-SFML-Test-SFML_MinGW_64_bit2-Release/Makefile qmake_all mingw32-make: Nothing to be done for 'qmake_all'. 15:07:26: Der Prozess "C:\Qt\Tools\mingw730_64\bin\mingw32-make.exe" wurde normal beendet. 15:07:26: Starte: "C:\Qt\Tools\mingw730_64\bin\mingw32-make.exe" -j4 C:/Qt/Tools/mingw730_64/bin/mingw32-make -f Makefile.Release mingw32-make[1]: Entering directory 'C:/Users/Peter/Documents/C++/build-SFML-Test-SFML_MinGW_64_bit2-Release' g++ -c -fno-keep-inline-dllexport -O2 -std=gnu++11 -Wall -Wextra -Wextra -fexceptions -mthreads -DUNICODE -D_UNICODE -DWIN32 -DMINGW_HAS_SECURE_API=1 -I../SFML-Test -I. -I../SFML-2.5.1/include -IC:/Qt/5.15.0/mingw81_64/mkspecs/win32-g++ -o release/main.o ../SFML-Test/main.cpp g++ -Wl,-s -Wl,-subsystem,console -mthreads -o release/SFML-Test.exe release/main.o -L C:/Users/Peter/Documents/C++/SFML-2.5.1/lib C:/Users/Peter/Documents/C++/SFML-2.5.1/bin -lsfml-audio -lsfml-graphics -lsfml-main -lsfml-network -lsfml-window -lsfml-system C:/Qt/Tools/mingw730_64/bin/../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find C:/Users/Peter/Documents/C++/SFML-2.5.1/bin: Permission denied collect2.exe: error: ld returned 1 exit status mingw32-make[1]: *** [Makefile.Release:68: release/SFML-Test.exe] Error 1 mingw32-make[1]: Leaving directory 'C:/Users/Peter/Documents/C++/build-SFML-Test-SFML_MinGW_64_bit2-Release' mingw32-make: *** [Makefile:45: release] Error 2 15:07:28: Der Prozess "C:\Qt\Tools\mingw730_64\bin\mingw32-make.exe" wurde mit dem Rückgabewert 2 beendet. Fehler beim Erstellen/Deployment des Projekts SFML-Test (Kit: SFML } MinGW 64-bit2) Bei der Ausführung von Schritt "Make" 15:07:28: Verstrichene Zeit: 00:03.
Habe gar keine Vorstellung wo der Fehler liegen kann...
-
@PeterS es scheint Du verwendest den MinGW Compiler. In diesem Fall benötigst Du Import-Bibliotheken für MinGW. Oft sind aber nur welche für MSVC enthalten. Das wäre zu prüfen.
Sollte es so sein, dann hilft nur den Compiler zu wechseln oder die Bibliothek selbst zu compilieren.
Grüsse
-
@aha_1980
Import Bibliotheken das sagt mir jetzt in diesen zusammenhang gar nichts...
Die SFML Bibliothek verlangt genau diesen Compiler, bzw. muß ich dann wohl schauen ob ich die Bibliothek selber compiled bekomme...Danke erstmal.
werde mich melden wenns geklappt hat.... -
@jsulm gut gesehen!
@PeterS: Außerdem benötigst Du die Bibliothek in der selben 32/64 Bit Ausführung wie dein Programm compiliert wird.
Unter https://www.sfml-dev.org/download/sfml/2.5.1 gibt es tatsächlich fertig compilierte Versionen für MinGW; welche hast Du installiert?
Grüsse
-
@jsulm @aha_1980
danke euch beiden.
Ich hatte meine Versuche mit der MinGW Version für 64 Bit begonnen, inkl. der 64 Bit Version von SFML.
Als das nicht klappt gestern noch den 32 Bit Compiler und 32Bit SFML heruntergeladen und installiert.
Vorhin den beitrag vom Jsulm gesehen und ausprobiert....
Und Hurra es hat geklappt.
Hat wohl nur an den Leerzeichen gelegen.