[C++] Qt Creator Linux: SFML library's aan de praat krijgen

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik ben een beginnende C++ programmeur en heb al heel wat tutorials doorgelezen op o.a. cplusplus.com, maar de stof blijft allemaal toch niet zo goed hangen en ik wil nog wat meer aan de slag en de kennis in praktijk brengen. Aangezien ik graag een motiverend, leuk projectje wou (dus niet alleen maar de hele tijd CLI stuff) wou ik een beetje gaan spelen met een multimedia/game library. Om dan uiteindelijk een simpel 2d spelletje te maken. Eerst ben ik gaan kijken naar het bekende SDL, maar na wat lezen kwam ik bij SFML uit. Wat voor een echte CPP beginner een toch stuk vriendelijkere API heeft. Ik gebruik Manjaro Linux (gebaseerd op Arch Linux) en Qt Creator. Ik heb sfml1.6 geïnstalleerd uit de AUR, dus dacht ik mooi nu hoef ik alleen nog maar "#include blahahah" te doen en dan kan ik aan de slag. Maar zo makkelijk is het helaas niet. Want Qt Creator begon direct te klagen over dat het het "#include"-bestand helemaal niet kon vinden.

Nu heb ik al een stukje zitten zoeken op internet, maar ik snap er allemaal vrij weinig van. Ik heb ook geprobeerd om SFML gewoon te downloaden van de officiële site en dan zelf te compileren (met "make"), maar toen kreeg ik ook een gcc foutmelding (over dat "read" niet bestond of zo iets). Verder heb ik nog wat zitten zoeken, maar SFML wordt het meeste gebruikt en werkt het beste met Code::Blocks en Visual Studio en daar schijnt het ook het makkelijkst voor te zijn te configuren/builden/linken/compilen etc.

Verder is er een tutorial van een van de makers van SFML om SFML te builden met Qt Creator, maar die is Windows only. En is totaal anders want daar werken ze allemaal met de Windows manier van dependencies, het Windows filesystem en MinGW en DLLs. Verder staat overal dat Qt Creator .lib files wil en SFML alleen maar met source code/headers komt.

Ik ben dus een echte beginner (afgezien van een beetje gespeeld te hebben met Python) en snap dus helemaal niks van het linken/compilen/builden allemaal. Ik vind dit erg jammer want zodra ik eindelijk weer een keer tijd en zin heb om verder te gaan met programmeren loop ik weer vast door een of andere vervelende foutmelding. :(

[ Voor 8% gewijzigd door Verwijderd op 02-02-2013 09:13 ]


Acties:
  • 0 Henk 'm!

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 12:01
Ik vind dit erg jammer want zodra ik eindelijk weer een keer tijd en zin heb om verder te gaan met programmeren loop ik weer vast door een of andere vervelende foutmelding.
Dat heet ervaring opdoen.

Anyways, als je wilt ontwikkelen moet je vaak ook de -dev packages van een library installeren, heb je dat gedaan?
Als je ook de source heb van +/- de versie die je hebt geinstalleerd ook kun je je compiler ook vertellen dat hij in (ook) die directory moet zoeken naar header files. Ik ken Qt creator niet goed, maar vaak is er bij de project settings een optie om (search/include)directories op te geven waarin de compiler moet zoeken.

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


Acties:
  • 0 Henk 'm!

  • Zoijar
  • Registratie: September 2001
  • Niet online

Zoijar

Because he doesn't row...

Je kan met Qt zelf ook prima een simpel 2d spelletje maken, heh. Je hebt daar echt geen externe dependencies voor nodig. Ik zou het gewoon op puur Qt houden om te beginnen.

http://qt-project.org/doc...a/multimediaoverview.html

En mocht je iets willen doen met opengl en shaders: http://qt-project.org/doc/qt-5.0/qtgui/painting-3d.html

[ Voor 35% gewijzigd door Zoijar op 02-02-2013 15:20 ]


Acties:
  • 0 Henk 'm!

  • epic007
  • Registratie: Februari 2004
  • Laatst online: 25-08 11:27
kan je dit niet gebruiken?
...open qt creator, make a plain C++ project, open your .pro file and add these lines:
code:
1
2
3
4
5
6
INCLUDEPATH += C:\SFML-1.6\include
LIBS += C:\SFML-1.6\lib\sfml-system.lib \
    C:\SFML-1.6\lib\sfml-window.lib \
    C:\SFML-1.6\lib\sfml-graphics.lib \
    C:\SFML-1.6\lib\sfml-audio.lib \
    C:\SFML-1.6\lib\sfml-network.lib
Maar dan ipv libsfml-graphics.lib gebruik je libsfml-graphics.so.1.6 voor alle libraries.


En verder, als je C++ wilt leren kan je dagen spenderen om dit allemaal aan de praat te krijgen zonder dat je zelf een regel code hebt geschreven. Ik zou dan voor de makkelijke weg kiezen en gewoon Code::Blocks of MSVC gebruiken. Of het alleen bij Qt houden zoals hierboven.