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 - dworkin

Pages: [1]
1
C'est exactement ce dont j'avais besoin :-)
J'avais raté cette fonction en lisant la doc  :-[
Merci beaucoup.  :)

2
Bonjour à tous,
pour la programmation d'un petit jeu de type point and click, je chercher à faire afficher une box autour d'un texte, de manière à le rendre plus lisible.
J'ai fait ce code :
        Texture texture;
        string image = "./images/";
        image += modele->getCarte()->getLieu().image;
        texture.loadFromFile(image);
        Sprite sprite;
        sprite.setTexture(texture);
        maFenetre->clear();
        maFenetre->draw(sprite);

            RectangleShape box =RectangleShape (Vector2f(12*modele->getMessage()->texte.size(),36));
            box.setFillColor (Color(0,0,0,128));
            box.setPosition(modele->getMessage()->coord.x-6, modele->getMessage()->coord.y-3);
            maFenetre->draw(box);

            sf::Text text;
            text.setFont(fonts[0]);
            text.setString(modele->getMessage()->texte);
            text.setCharacterSize(24);
            text.setPosition(modele->getMessage()->coord.x, modele->getMessage()->coord.y);
            maFenetre->draw(text);

Ca ne marche pas si mal que ça, sauf que le texte n'est jamais bien entouré : Selon les caractères que j'utilise, ma formule : 12*modele->getMessage()->texte.size()
va créer une box trop large ou trop étroite.
Y-a-t'il une solution pour calculer correctement la taille qu'un texte va prendre sur l'écran?

3
Général / Compilation static
« le: Octobre 22, 2015, 03:10:24 pm »
Bonjour à tous,
j'essaye de compiler un programme que j'ai fait qui utilise la librairie sfml, dans l'objectif de faire un programme le plus portable possible.
L'idée initiale était de stocker tout les ".so" dans un dossier "libs", et d'ajouter ce dossier au rpath à la compilation.
J'avais fait un makefile qui utilisait cette stratégie, et ça fonctionnait très bien, sauf que ça nécessitait que j'ai SFML installé sur la machine qui compile.
Hors j'aimerai que (en plus d'avoir un exécutable portable) mon code puisse être compilé sans qu'il y ai besoin que les librairies soient installées. Et la ça coince : Je n'arrive pas à faire le linkage en utilisant les .so de mon dossier libs.
J'ai testé diverses choses, mais rien ne semble fonctionner :-(

Extrait du makefile :
CXX           = g++
DEBUG = yes
CXXFLAGSD  = -g -O1 -std=c++0x -I./staticheader/
CXXFLAGSR  =  -O2 -Wall -W -std=c++0x -I./staticheader/
LDFLAGS='-Wl,-rpath,$$ORIGIN/libs'
OUTILS = ../libperso
REP = ./

INCPATH       = -lsfml-network -lsfml-system  
INCPATHSTATIC = -L./libs/  -lsfml-network -lsfml-system
INCPATHSTATIC2 = -L./libs/ -lsfml-network-s -lsfml-system-s

main : main.o outilParsage.o outilNet.o ...
        $(CXX) $(CXXFLAGSD) $(INCPATH) main.o outilParsage.o outilNet.o ... -o prgm

static :
        $(CXX) $(LDFLAGS) $(CXXFLAGSR) $(INCPATH)  main.o outilParsage.o outilNet.o ... -o prgm

allstatic : main.o outilParsage.o outilNet.o ...
        $(CXX) $(LDFLAGS) $(CXXFLAGSR)  $(INCPATHSTATIC) main.o outilParsage.o outilNet.o ... -o prgm

allstatic2 : main.o outilParsage.o outilNet.o ...
        $(CXX) $(LDFLAGS) $(CXXFLAGSR)  $(INCPATHSTATIC2) main.o outilParsage.o outilNet.o ... -o prgm
 

Le dossier "./libs" contiens des "-s.a" et des ".so".
Les ".so" ont été obtenus grâce à une installation de sfml sur mon système d'exploitation, et les  fichier "-s.a" ont été compilé depuis les sources téléchargées sur le site.

Que je fasse un
make allstatic
ou un
make allstatic2
j'obtiens les mêmes erreurs de linkage :

utilNet.o: dans la fonction « ouvrirPageManuel(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) »:
/home/guillaume/a/enrichissementSem/../libperso/outilNet.cpp:225: référence indéfinie vers « sf::Http::setHost(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned short) »
/home/guillaume/a/enrichissementSem/../libperso/outilNet.cpp:226: référence indéfinie vers « sf::Http::Request::Request(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, sf::Http::Request::Method, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) »
/home/guillaume/a/enrichissementSem/../libperso/outilNet.cpp:228: référence indéfinie vers « sf::Http::Request::setUri(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) »
/home/guillaume/a/enrichissementSem/../libperso/outilNet.cpp:229: référence indéfinie vers « sf::Http::Request::setBody(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) »
/home/guillaume/a/enrichissementSem/../libperso/outilNet.cpp:236: référence indéfinie vers « sf::Http::Request::setField(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) »
/home/guillaume/a/enrichissementSem/../libperso/outilNet.cpp:237: référence indéfinie vers « sf::Http::Request::setField(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) »
/home/guillaume/a/enrichissementSem/../libperso/outilNet.cpp:240: référence indéfinie vers « sf::Http::Response::getBody[abi:cxx11]() const »
outilNet.o: dans la fonction « ouvrirPage(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) »:
/home/guillaume/a/enrichissementSem/../libperso/outilNet.cpp:353: référence indéfinie vers « sf::Http::setHost(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned short) »
/home/guillaume/a/enrichissementSem/../libperso/outilNet.cpp:354: référence indéfinie vers « sf::Http::Request::Request(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, sf::Http::Request::Method, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) »
/home/guillaume/a/enrichissementSem/../libperso/outilNet.cpp:356: référence indéfinie vers « sf::Http::Request::setUri(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) »
/home/guillaume/a/enrichissementSem/../libperso/outilNet.cpp:357: référence indéfinie vers « sf::Http::Request::setBody(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) »
/home/guillaume/a/enrichissementSem/../libperso/outilNet.cpp:364: référence indéfinie vers « sf::Http::Request::setField(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) »
/home/guillaume/a/enrichissementSem/../libperso/outilNet.cpp:370: référence indéfinie vers « sf::Http::Response::getField(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const »
/home/guillaume/a/enrichissementSem/../libperso/outilNet.cpp:374: référence indéfinie vers « sf::Http::Response::getBody[abi:cxx11]() const »
/home/guillaume/a/enrichissementSem/../libperso/outilNet.cpp:384: référence indéfinie vers « sf::Http::Response::getField(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const »
outilNet.o: dans la fonction « ouvrirPage(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::allocator<std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >) »:
/home/guillaume/a/enrichissementSem/../libperso/outilNet.cpp:262: référence indéfinie vers « sf::Http::setHost(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned short) »
/home/guillaume/a/enrichissementSem/../libperso/outilNet.cpp:263: référence indéfinie vers « sf::Http::Request::Request(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, sf::Http::Request::Method, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) »
/home/guillaume/a/enrichissementSem/../libperso/outilNet.cpp:265: référence indéfinie vers « sf::Http::Request::setUri(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) »
/home/guillaume/a/enrichissementSem/../libperso/outilNet.cpp:266: référence indéfinie vers « sf::Http::Request::setBody(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) »
/home/guillaume/a/enrichissementSem/../libperso/outilNet.cpp:277: référence indéfinie vers « sf::Http::Response::getField(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const »
/home/guillaume/a/enrichissementSem/../libperso/outilNet.cpp:279: référence indéfinie vers « sf::Http::Response::getBody[abi:cxx11]() const »
/home/guillaume/a/enrichissementSem/../libperso/outilNet.cpp:285: référence indéfinie vers « sf::Http::Response::getField(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const »
outilNet.o: dans la fonction « ouvrirPage(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) »:
/home/guillaume/a/enrichissementSem/../libperso/outilNet.cpp:307: référence indéfinie vers « sf::Http::setHost(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned short) »
/home/guillaume/a/enrichissementSem/../libperso/outilNet.cpp:310: référence indéfinie vers « sf::Http::Request::Request(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, sf::Http::Request::Method, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) »
/home/guillaume/a/enrichissementSem/../libperso/outilNet.cpp:312: référence indéfinie vers « sf::Http::Request::setUri(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) »
/home/guillaume/a/enrichissementSem/../libperso/outilNet.cpp:313: référence indéfinie vers « sf::Http::Request::setBody(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) »
/home/guillaume/a/enrichissementSem/../libperso/outilNet.cpp:318: référence indéfinie vers « sf::Http::Request::setField(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) »
/home/guillaume/a/enrichissementSem/../libperso/outilNet.cpp:322: référence indéfinie vers « sf::Http::Response::getField(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const »
/home/guillaume/a/enrichissementSem/../libperso/outilNet.cpp:324: référence indéfinie vers « sf::Http::Response::getBody[abi:cxx11]() const »
/home/guillaume/a/enrichissementSem/../libperso/outilNet.cpp:330: référence indéfinie vers « sf::Http::Response::getField(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const »
 
J'ai aussi essayé d'utiliser -DSFML_STATIC, sans succès.

Du coup, je ne sait pas trop quoi faire.


Si quelqu'un a une piste pour me débloquer, je suis prenneur :-)

4
Réseau / requete et erreur 400
« le: Juin 16, 2015, 06:04:27 pm »
Bonjour à tous,
lorsque j'essaye de requeter wikidata (par exemple : "https://www.wikidata.org/w/api.php?action=wbsearchentities&search=Philosophie&language=fr&format=json" ) via la librairie sfml, j'obtiens l'erreur 400, alors que je charge cette page sans problèmes via un navigateur ou wget.
Pourtant mon code de chargement de page ne pose aucun problème sur tout les autres sites ou il a été testé.
D'ou cela pourrait il provenir?

5
Général / sf::Http::Response shadows a parameter sur SFML2
« le: Septembre 26, 2013, 10:58:36 am »
Bonjour à tous,
j'ai recemment repris un code SFML que j'avais fait il y a quelques mois, mais entre temps, j'ai mis Fedora à jour, et j'ai donc changé de version SFML.
Du coup, du code qui marchait ne marche plus.
Voila le code :
string ouvrirPageManuel(string domaine, string page, string cookieC, string param, string refererC){
    sf::Http http;
    http.setHost(domaine);
    sf::Http::Request request;
    request.setMethod(sf::Http::Request::Post);
    request.setUri(page);
    request.setBody(param);
    request.setHttpVersion(1, 0);
    request.setField("cookie", cookieC);
    request.setField("referer", refererC);
    sf::Http::Response page = http.sendRequest(request);
 

et voila l'erreur :
error: declaration of 'sf::Http::Response page' shadows a parameter

Est ce que quelqu'un peut me dire d'ou cet étrange message pourrait venir?
J'ai fait quelques recherches, mais pour l'instant, je tourne en rond :s

Pages: [1]
anything