Bienvenue, Invité. Merci de vous connecter ou de vous inscrire. Avez-vous oublié d'activer ?

Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.


Messages - zedex

Pages: « Précédente 1 [2]
16
Système / Multi-thread pour gérer deux fenêtres
« le: Octobre 13, 2013, 06:57:56 pm »
Merci de préciser un peu la partie "ça marche pas" ;)

Là est tout le problème hahaha. Des fois il ne se passe rien (le programme tourne, mais les deux fenêtres ne s'affichent pas et il n'y a pas de messages d'erreurs dans la console), des fois cela s'arrête avec un message du genre :

Démarrage de Cpp_Qt_SFML_MapEditor...XIO:  fatal IO error 11 (Resource temporarily unavailable) on X server ":0.0"
      after 83 requests (79 known processed) with 6 events remaining.
XIO:  fatal IO error 11 (Resource temporarily unavailable) on X server ":0.0"
      after 83 requests (79 known processed) with 6 events remaining.
Cpp_Qt_SFML_MapEditor a quitté avec le code 1

ou bien

Démarrage de Cpp_Qt_SFML_MapEditor...Le programme s'est terminé subitement.
Cpp_Qt_SFML_MapEditor a quitté avec le code 0

Je ne pense pas que cela vienne des fonctions, c'est "afficher bêtement une fenêtre vide" mais je met quand même le code au cas où :

void windowMap()
{
    sf::RenderWindow windowMap(sf::VideoMode(600,450),"Map");

    while (windowMap.isOpen())
    {
        sf::Event event;

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

        windowMap.clear(sf::Color::White);
        windowMap.display();
    }
}

17
Système / [Abandon] Multi-thread pour gérer deux fenêtres
« le: Octobre 13, 2013, 03:56:11 pm »
Bonjour.
Je suis en train de réaliser un petit éditeur de cartes pour un jeu façon rpg. Il serait constitué de 3 fenêtres :
  • une gérée par Qt (contenant un menu pour sauvegarder, etc ... Je ne m'y attarde pas plus que ça)
  • une fenêtre contenant le tileset sur laquelle on peut sélectionner la tuile gérée par SFML
  • une fenêtre sur laquelle on vient poser les tuiles et constituer graphiquement la carte, aussi gérée par SFML
Actuellement j'ai des problèmes avec les deux dernières fenêtres, j'aimerais qu'elles soient gérées dans deux threads séparés de la manière suivante :

int main(int argc, char args[])
{
    sf::Thread threadWindowTileSet(&windowTileSet);
    sf::Thread threadWindowMap(&windowMap);

    threadWindowTileSet.launch();
    threadWindowMap.launch();

        return 0;
}
 

En lançant un thread uniquement cela fonctionne, mais pas avec deux en même temps.

De plus il est dit dans le tutoriel que l'on peut protéger les données partagées. Je souhaiterais que les deux theads travaillent sur un objet passé en argument du genre :

void windowTileSet(Map carte);

Est-ce possible et dois-je donc utiliser les mutex ?

Merci.

18
Site web SFML / Re : Erreur dans le tuto sur les vertex array
« le: Septembre 12, 2013, 11:40:07 am »
Je fonctionne sous Ubuntu 10.04

19
Site web SFML / Re : Erreur dans le tuto sur les vertex array
« le: Septembre 11, 2013, 11:50:21 pm »
Pourtant j'ai bien une boucle while(window.isOpen()), c'est ça qui est "bizarre".

20
Graphique / setPosition de la classe sf::Sprite
« le: Septembre 11, 2013, 11:48:49 pm »
J'aimerais afficher une sprite au milieu de ma fenêtre, mais je rencontre quelques soucis. Je souhaite que cela se fasse automatiquement de la façon :
position x et y = taille fenêtre / 2 - taille sprite / 2

Seulement lorsque j'exécute les commandes comme suit pour une sprite de 32px par 32 px :
sprite.setTexture(texture);
std::cout << "sprite width = " << sprite.getScale().x << std::endl;
std::cout << "sprite heigth = " << sprite.getScale().y << std::endl;
J'obtiens :
sprite width = 1
sprite heigth = 1

21
Site web SFML / Re : Erreur dans le tuto sur les vertex array
« le: Septembre 11, 2013, 11:41:11 pm »
Pourtant dans la boucle principale la fenêtre ne s'ouvre pas tant que je n'ai pas mis cette ligne. En fait elle s'ouvre et se ferme de suite on dirait, ainsi que le programme.

22
Site web SFML / Re : Erreur dans le tuto sur les vertex array
« le: Septembre 11, 2013, 05:45:39 pm »
Dans "ouvrir et gérer une fenêtre SFML" il manque aussi la commande window.display(); je crois.

23
Discussions générales / Re : Configurer Eclipse pour la SFML sous Linux.
« le: Septembre 07, 2013, 10:32:08 am »
Voici donc la façon dont j'ai procédé pour installer SFML-2.1 sur ma machine Linux et comment configurer Éclipse pour qu'il puisse le supporter.

Pour commencer j'ai téléchargé et extrait l'archive et copié les includes les librairies dans les dossiers systèmes :
cd Téléchargements/
tar -jxvf SFML-2.1-linux-gcc-32bits.tar.bz2
cp -r SFML-2.1/ /usr/local/

Il faut ensuite spécifier à Éclipse comment utiliser cette librairie. Commencer par créer un nouveau projet type "Hello World" et remplacer le code par celui du tutoriel pour la SFML-2.1 :
#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;
}

Clic droit sur le projet → proprieties

C/C++ Build  → Settings → Gcc C++ Compiler → Directories cliquez sur le petit "+" et entrez "/usr/local/SFML-2.1/include"

C/C++ Build  → Settings → Gcc C++ Linker → Librairies dans Library search path (-L) ajoutez "/usr/local/SFML-2.1/lib" et dans Librairies (-l) :
  • sfml-system
  • sfml-graphics
  • sfml-window

Voilà, normalement Éclipse devrait pouvoir compiler.
Lors de son installation j'ai tout de même rencontré des problèmes à la compilation :
/usr/bin/ld: warning: libGLEW.so.1.7, needed by /usr/lib/libsfml-graphics.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libjpeg.so.8, needed by /usr/lib/libsfml-graphics.so, not found (try using -rpath or -rpath-link)

Apparemment libGLEW.so.1.7 et libjpeg.so.8 ne sont pas installés. Pour ce faire je me suis aidé de cette discussion que je vous retransmet :
Télécharger libjpeg.so.8 à l'adresse http://www.ijg.org/files/jpegsrc.v8a.tar.gz et libGLEW.so.1.7 à l'adresse http://sourceforge.net/projects/glew/files/glew/1.7.0/ puis entrez dans une console:

cd Téléchargements
tar xvfz jpegsrc.v8a.tar.gz
cd jpeg-8a
./configure
sudo make
sudo make install
ldconfig

cd Téléchargements
tar xvfz glew-1.7.0.tgz
cd glew-1.7.0
sudo make
sudo make install

Relancez la compilation de votre programme, normalement il devrait fonctionner.

Je tiens à remercier Laurent pour son aide précieuse et très claire. Merci.

24
Discussions générales / Re : Configurer Eclipse pour la SFML sous Linux.
« le: Septembre 07, 2013, 09:20:02 am »
Pardon, erreur bête de ma part. Je n'ai fait que "make" et non "make install".  :P

Impeccable tout marche parfaitement merci beaucoup de ton aide. Je vais faire un petit tutoriel/résumé de toutes les actions que j'ai réalisé pour installer SFML sur Linux, dans le cas où d'autres débutants en auraient besoin.

25
Discussions générales / Re : Configurer Eclipse pour la SFML sous Linux.
« le: Septembre 07, 2013, 12:10:57 am »
En effet, j'ai donc procédé à l'installation de libjpeg.so.8, mais je rencontre des difficultés avec libGLEW.so.1.7 : Je l'ai téléchargé et décompressé, exécuté la commande "make" comme indiqué dans le README.txt, mais j'ai toujours la même erreur type "/usr/bin/ld: warning: libGLEW.so.1.7, needed by /usr/lib/libsfml-graphics.so, not found"

cedric@cedric-laptop:~/Téléchargements$ tar xvfz glew-1.7.0.tgz
[...]
cedric@cedric-laptop:~/Téléchargements$ cd glew-1.7.0/
cedric@cedric-laptop:~/Téléchargements/glew-1.7.0$ make
cc -DGLEW_NO_GLU -O2 -Wall -W -Iinclude  -fPIC  -o src/glew.pic_o -c src/glew.c
cc -shared -Wl,-soname=libGLEW.so.1.7 -o lib/libGLEW.so.1.7.0 src/glew.pic_o -L/usr/X11R6/lib -lXmu -lXi -lGLU -lGL -lXext -lX11
ln -sf libGLEW.so.1.7.0 lib/libGLEW.so.1.7
ln -sf libGLEW.so.1.7.0 lib/libGLEW.so
cc -DGLEW_NO_GLU -O2 -Wall -W -Iinclude   -o src/glew.o -c src/glew.c
ar cr lib/libGLEW.a src/glew.o
sed \
                -e "s|@prefix@|/usr|g" \
                -e "s|@libdir@|/usr/lib|g" \
                -e "s|@exec_prefix@|/usr/bin|g" \
                -e "s|@includedir@|/usr/include/GL|g" \
                -e "s|@version@|1.7.0|g" \
                -e "s|@cflags@||g" \
                -e "s|@libname@|GLEW|g" \
                < glew.pc.in > glew.pc
cc -DGLEW_NO_GLU -DGLEW_MX -O2 -Wall -W -Iinclude  -fPIC  -o src/glew.mx.pic_o -c src/glew.c
cc -shared -Wl,-soname=libGLEWmx.so.1.7 -o lib/libGLEWmx.so.1.7.0 src/glew.mx.pic_o -L/usr/X11R6/lib -lXmu -lXi -lGLU -lGL -lXext -lX11
ln -sf libGLEWmx.so.1.7.0 lib/libGLEWmx.so.1.7
ln -sf libGLEWmx.so.1.7.0 lib/libGLEWmx.so
cc -DGLEW_NO_GLU -DGLEW_MX -O2 -Wall -W -Iinclude   -o src/glew.mx.o -c src/glew.c
ar cr lib/libGLEWmx.a src/glew.mx.o
sed \
                -e "s|@prefix@|/usr|g" \
                -e "s|@libdir@|/usr/lib|g" \
                -e "s|@exec_prefix@|/usr/bin|g" \
                -e "s|@includedir@|/usr/include/GL|g" \
                -e "s|@version@|1.7.0|g" \
                -e "s|@cflags@|-DGLEW_MX|g" \
                -e "s|@libname@|GLEWmx|g" \
                < glew.pc.in > glewmx.pc
cc -c -O2 -Wall -W -Iinclude  -o src/glewinfo.o src/glewinfo.c
cc -O2 -Wall -W -Iinclude  -o bin/glewinfo src/glewinfo.o -Llib -Wl,-Bdynamic -lGLEW -L/usr/X11R6/lib -lXmu -lXi -lGLU -lGL -lXext -lX11
cc -c -O2 -Wall -W -Iinclude  -o src/visualinfo.o src/visualinfo.c
cc -O2 -Wall -W -Iinclude  -o bin/visualinfo src/visualinfo.o -Llib -Wl,-Bdynamic -lGLEW -L/usr/X11R6/lib -lXmu -lXi -lGLU -lGL -lXext -lX11
 

Est-ce que je dois donc recompiler la SFML et si oui comment ?

26
Discussions générales / Re : Configurer Eclipse pour la SFML sous Linux.
« le: Septembre 06, 2013, 04:46:50 pm »
Merci Laurent pour tes indications.
J'ai fait les modifications que tu m'as indiqué, et maintenant j'ai des erreurs de compilation (c'est bon signe donc :) ). J'essaye de compiler le code-test proposé dans le tutoriel mais à la compilations, j'ai des erreurs sur les objets "RenderWindow" et "CircleShape".

**** Build of configuration Debug for project Cpp_SFML_test ****

make all
Building target: Cpp_SFML_test
Invoking: GCC C++ Linker
g++ -L/usr/lib -o"Cpp_SFML_test"  ./main.o   -lsfml-system
./main.o: In function `main':
/home/cedric/Documents/Eclipse/Cpp_SFML_test/Debug/../main.cpp:5: undefined reference to `sf::VideoMode::VideoMode(unsigned int, unsigned int, unsigned int)'
/home/cedric/Documents/Eclipse/Cpp_SFML_test/Debug/../main.cpp:5: undefined reference to `sf::RenderWindow::RenderWindow(sf::VideoMode, sf::String const&, unsigned int, sf::ContextSettings const&)'
/home/cedric/Documents/Eclipse/Cpp_SFML_test/Debug/../main.cpp:6: undefined reference to `sf::CircleShape::CircleShape(float, unsigned int)'
/home/cedric/Documents/Eclipse/Cpp_SFML_test/Debug/../main.cpp:5: undefined reference to `sf::RenderWindow::~RenderWindow()'
/home/cedric/Documents/Eclipse/Cpp_SFML_test/Debug/../main.cpp:7: undefined reference to `sf::Color::Green'
/home/cedric/Documents/Eclipse/Cpp_SFML_test/Debug/../main.cpp:7: undefined reference to `sf::Shape::setFillColor(sf::Color const&)'
/home/cedric/Documents/Eclipse/Cpp_SFML_test/Debug/../main.cpp:15: undefined reference to `sf::Window::close()'
/home/cedric/Documents/Eclipse/Cpp_SFML_test/Debug/../main.cpp:12: undefined reference to `sf::Window::pollEvent(sf::Event&)'
/home/cedric/Documents/Eclipse/Cpp_SFML_test/Debug/../main.cpp:18: undefined reference to `sf::Color::Color(unsigned char, unsigned char, unsigned char, unsigned char)'
/home/cedric/Documents/Eclipse/Cpp_SFML_test/Debug/../main.cpp:18: undefined reference to `sf::RenderTarget::clear(sf::Color const&)'
/home/cedric/Documents/Eclipse/Cpp_SFML_test/Debug/../main.cpp:19: undefined reference to `sf::RenderStates::Default'
/home/cedric/Documents/Eclipse/Cpp_SFML_test/Debug/../main.cpp:19: undefined reference to `sf::RenderTarget::draw(sf::Drawable const&, sf::RenderStates const&)'
/home/cedric/Documents/Eclipse/Cpp_SFML_test/Debug/../main.cpp:20: undefined reference to `sf::Window::display()'
/home/cedric/Documents/Eclipse/Cpp_SFML_test/Debug/../main.cpp:9: undefined reference to `sf::Window::isOpen() const'
/home/cedric/Documents/Eclipse/Cpp_SFML_test/Debug/../main.cpp:23: undefined reference to `sf::RenderWindow::~RenderWindow()'
/home/cedric/Documents/Eclipse/Cpp_SFML_test/Debug/../main.cpp:23: undefined reference to `sf::RenderWindow::~RenderWindow()'
./main.o: In function `~CircleShape':
/usr/include/SFML/Graphics/CircleShape.hpp:42: undefined reference to `vtable for sf::CircleShape'
/usr/include/SFML/Graphics/CircleShape.hpp:42: undefined reference to `vtable for sf::CircleShape'
/usr/include/SFML/Graphics/CircleShape.hpp:42: undefined reference to `sf::Shape::~Shape()'
collect2: ld returned 1 exit status
make: *** [Cpp_SFML_test] Erreur 1
 

J'ai donc essayé de rajouter les librairies sfml-graphics et sfml-window mais sans succès : Il ne trouve pas "libsfml-graphics.so" qui pourtant existe bien à l'adresse indiquée.

**** Build of configuration Debug for project Cpp_SFML_test ****

make all
Building target: Cpp_SFML_test
Invoking: GCC C++ Linker
g++ -L/usr/lib -o"Cpp_SFML_test"  ./main.o   -lsfml-system -lsfml-window -lsfml-graphics
/usr/bin/ld: warning: libGLEW.so.1.7, needed by /usr/lib/libsfml-graphics.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libjpeg.so.8, needed by /usr/lib/libsfml-graphics.so, not found (try using -rpath or -rpath-link)
/usr/lib/libsfml-graphics.so: undefined reference to `__glewDeleteFramebuffersEXT'
/usr/lib/libsfml-graphics.so: undefined reference to `__glewUniformMatrix4fvARB'
/usr/lib/libsfml-graphics.so: undefined reference to `__GLEW_EXT_blend_func_separate'
/usr/lib/libsfml-graphics.so: undefined reference to `__GLEW_ARB_shading_language_100'
/usr/lib/libsfml-graphics.so: undefined reference to `jpeg_stdio_dest@LIBJPEG_8.0'
/usr/lib/libsfml-graphics.so: undefined reference to `__glewGetHandleARB'
/usr/lib/libsfml-graphics.so: undefined reference to `__glewBindFramebufferEXT'
/usr/lib/libsfml-graphics.so: undefined reference to `__glewGenFramebuffersEXT'
/usr/lib/libsfml-graphics.so: undefined reference to `__glewCheckFramebufferStatusEXT'
/usr/lib/libsfml-graphics.so: undefined reference to `__glewAttachObjectARB'
/usr/lib/libsfml-graphics.so: undefined reference to `jpeg_CreateCompress@LIBJPEG_8.0'
/usr/lib/libsfml-graphics.so: undefined reference to `__glewRenderbufferStorageEXT'
/usr/lib/libsfml-graphics.so: undefined reference to `__GLEW_ARB_fragment_shader'
/usr/lib/libsfml-graphics.so: undefined reference to `__glewUniform1fARB'
/usr/lib/libsfml-graphics.so: undefined reference to `__glewFramebufferTexture2DEXT'
/usr/lib/libsfml-graphics.so: undefined reference to `__glewLinkProgramARB'
/usr/lib/libsfml-graphics.so: undefined reference to `jpeg_set_defaults@LIBJPEG_8.0'
/usr/lib/libsfml-graphics.so: undefined reference to `__glewGetObjectParameterivARB'
/usr/lib/libsfml-graphics.so: undefined reference to `jpeg_destroy_compress@LIBJPEG_8.0'
/usr/lib/libsfml-graphics.so: undefined reference to `__GLEW_ARB_shader_objects'
/usr/lib/libsfml-graphics.so: undefined reference to `__glewUniform2fARB'
/usr/lib/libsfml-graphics.so: undefined reference to `glewInit'
/usr/lib/libsfml-graphics.so: undefined reference to `__GLEW_EXT_framebuffer_object'
/usr/lib/libsfml-graphics.so: undefined reference to `jpeg_set_quality@LIBJPEG_8.0'
/usr/lib/libsfml-graphics.so: undefined reference to `__glewDeleteRenderbuffersEXT'
/usr/lib/libsfml-graphics.so: undefined reference to `__GLEW_ARB_texture_non_power_of_two'
/usr/lib/libsfml-graphics.so: undefined reference to `__glewDeleteObjectARB'
/usr/lib/libsfml-graphics.so: undefined reference to `glewGetErrorString'
/usr/lib/libsfml-graphics.so: undefined reference to `__glewCreateProgramObjectARB'
/usr/lib/libsfml-graphics.so: undefined reference to `jpeg_write_scanlines@LIBJPEG_8.0'
/usr/lib/libsfml-graphics.so: undefined reference to `__glewUseProgramObjectARB'
/usr/lib/libsfml-graphics.so: undefined reference to `__glewCreateShaderObjectARB'
/usr/lib/libsfml-graphics.so: undefined reference to `__glewUniform3fARB'
/usr/lib/libsfml-graphics.so: undefined reference to `__glewGetInfoLogARB'
/usr/lib/libsfml-graphics.so: undefined reference to `__glewUniform1iARB'
/usr/lib/libsfml-graphics.so: undefined reference to `__glewUniform4fARB'
/usr/lib/libsfml-graphics.so: undefined reference to `__glewGenRenderbuffersEXT'
/usr/lib/libsfml-graphics.so: undefined reference to `__glewBlendFuncSeparateEXT'
/usr/lib/libsfml-graphics.so: undefined reference to `__glewGetUniformLocationARB'
/usr/lib/libsfml-graphics.so: undefined reference to `__glewActiveTextureARB'
/usr/lib/libsfml-graphics.so: undefined reference to `jpeg_start_compress@LIBJPEG_8.0'
/usr/lib/libsfml-graphics.so: undefined reference to `jpeg_std_error@LIBJPEG_8.0'
/usr/lib/libsfml-graphics.so: undefined reference to `__glewCompileShaderARB'
/usr/lib/libsfml-graphics.so: undefined reference to `__GLEW_ARB_vertex_shader'
/usr/lib/libsfml-graphics.so: undefined reference to `jpeg_finish_compress@LIBJPEG_8.0'
/usr/lib/libsfml-graphics.so: undefined reference to `__glewShaderSourceARB'
/usr/lib/libsfml-graphics.so: undefined reference to `__glewBindRenderbufferEXT'
/usr/lib/libsfml-graphics.so: undefined reference to `__glewFramebufferRenderbufferEXT'
collect2: ld returned 1 exit status
make: *** [Cpp_SFML_test] Erreur 1
 

27
Discussions générales / Configurer Eclipse pour la SFML sous Linux.
« le: Septembre 06, 2013, 10:25:15 am »
Bonjour.
Je souhaiterais utiliser la bibliothèque SFML sur mon ordinateur sous Linux en utilisant mon IDE Éclipse, seulement je rencontre quelques difficultés au niveau de l'installation. J'ai suivi le tutoriel officiel (et me suis aidé de deux autres tutoriels : tutoriel 1, tutoriel 2) pour ce qui est de l'installation à savoir :
  • J'ai téléchargé l'archive "SFML-2.1-linux-gcc-32bits.tar.bz2" que j'ai décompressé.
  • J'ai copié manuellement en lignes de commandes les dossier dans leurs emplacements respectifs (les includes dans /usr/include, les lib dans /usr/lib, et share dans /usr/share)
Puis dans l'IDE Éclipse j'y ai ajouté les liens suivants :
  • Les includes path : "/usr/include/SFML"
  • Les librairies : "/usr/lib/libsfml-system.so"
  • Les library search path : "/usr/lib"
Seulement lorsque je compile j'obtiens les erreurs suivantes :
**** Build of configuration Debug for project Cpp_SFML_test ****

make all
Building target: Cpp_SFML_test
Invoking: GCC C++ Linker
g++ -L/usr/lib -o"Cpp_SFML_test"  ./main.o   -l/usr/lib/libsfml-system.so
/usr/bin/ld: cannot find -l/usr/lib/libsfml-system.so
collect2: ld returned 1 exit status
make: *** [Cpp_SFML_test] Erreur 1
 
Pourtant j'ai vérifié le fichier existe bel et bien.

De plus j'ai remarqué qu'il n'y avait pas de fichier .dll dans l'archive, du coup comment une fois le programme compilé et l'exécutable généré je vais faire pour assurer le fonctionnement de mon futur programme ?

Je vous remercie tous d'avance.

Pages: « Précédente 1 [2]
anything