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

Pages: [1]
1
Graphique / Re: getline(fichier,contenu) utf8
« le: Décembre 04, 2019, 05:02:54 pm »
Oui, le double poste, une erreur par confusion d'intitulé. Désolé.

2
Graphique / getline(fichier,contenu) utf8
« le: Décembre 04, 2019, 12:15:51 pm »
Bonjour
J'ai un fichier qui contient ceci:

Fichier
Nouvelle session
Ouvrir
Enregistrer
Enregistrer sous
Commentaire
Quitter
Éditer
Annuler
Rétablir
Couper
Copier
Coller
Préférences
 

Lorsque je fais :

 ifstream fichier(fichierLang, ios::in);                      // ouverture du fichier parametres.conf
 string contenu;
 if(fichier){                                                 // si l'ouverture a réussi
    int k=42;
    getline(fichier,contenu);
    menuItems[0][0].setFont(font);
    menuItems[0][0].setString(contenu);
    menuItems[0][0].setCharacterSize(13);
    menuItems[0][0].setPosition(sf::Vector2f(6, 8));
    menuItems[0][0].setFillColor(sf::Color(0,0,0));
    for(int i=1;i<7;i++){
       getline(fichier,contenu);
       menuItems[0][i].setFont(font);
       menuItems[0][i].setString(contenu);
       menuItems[0][i].setCharacterSize(13);
       menuItems[0][i].setPosition(sf::Vector2f(6,k ));
       menuItems[0][i].setFillColor(sf::Color(0,0,0));
       k=k+28;
    }
    k=42;
    getline(fichier,contenu);
    menuItems[1][0].setFont(font);
    menuItems[1][0].setString(sf::String::toUtf8(contenu));
    menuItems[1][0].setCharacterSize(13);
    menuItems[1][0].setPosition(sf::Vector2f(60, 8));
    menuItems[1][0].setFillColor(sf::Color(0,0,0));
    for(int i=1;i<7;i++){
       getline(fichier,contenu);
       menuItems[1][i].setFont(font);
       menuItems[1][i].setString(contenu);
       menuItems[1][i].setCharacterSize(13);
       menuItems[1][i].setPosition(sf::Vector2f(60,k ));
       menuItems[1][i].setFillColor(sf::Color(0,0,0));
       k=k+28;
    }
               
  }else{  // sinon
       cerr << "Erreur à l'ouverture du fichier Lang!" << endl;
  }
 

la variable sf::Text menuItems[1][0] me retourne des signes cabalistiques pour le caractère accentué d'Éditer.
C'est un problèmes de conversions, mais je ne vois pas comment faire (après plein de tentatives)!!!

3
Discussions générales / Re: MXE problème ld Partiellement Résolu
« le: Août 26, 2019, 06:04:02 pm »
Voici les includes de mon programme :
#include <winsock2.h>
#include <windows.h>
#include <SFML/Graphics.hpp>
#include <SFML/OpenGL.hpp>
#include <iostream>
#include <atomic>
#include <fstream>
#include <stdio.h>
#include <stdexcept>
#include <unistd.h>
#include <dirent.h>
#include <sstream>
#include <locale>
#include <iomanip>
#include <stdlib.h>
#define _USE_MATH_DEFINES
#include <cmath>
#include <vector>
#include <list>
#include <string>
#include <boost/filesystem.hpp>
#include <GL/gl.h>
#include <GL/glu.h>
#define GLM_ENABLE_EXPERIMENTAL
#include <glm/glm.hpp>
#include <glm/gtx/transform.hpp>
#include <glm/gtc/type_ptr.hpp>
#include <lo/lo.h>
#include <lo/lo_cpp.h>
#include <signal.h>

#include "oscSpace3D.h"

using namespace std;
using namespace glm;

Il faut ajouter ceci avant lsfml-
-lpng -ljpeg -lfreetype -lwinmm  -lOpenAL32 -lopengl32 -lgdi32 -lglu32 -lglew32s

et ne pas oublier
$(PKG_CONFIG) freetype2 sfml glew openal --libs --cflags ` -lws2_32  -lwsock32  -liphlpapi -lz

avec
PKG_CONFIG=$(CROSS)pkg-config

Et là, miracle ça fonctionne sous Wine.

Un paradoxe : ça plante au démarrage sous windows7 au moment de la création de la première fenêtre.:(


vocici la ligne complète

oscSpace3D: oscSpace3D.cpp
   $(CC)  -std=c++11 -O3 oscSpace3D.cpp -o oscSpace3D.exe  -L/home/dominique/MXE/mxe/usr/x86_64-w64-mingw32.static/lib -lboost_filesystem-mt -lboost_system-mt -llo -lpng -ljpeg -lfreetype -lwinmm  -lOpenAL32 -lopengl32 -lgdi32 -lglu32 -lglew32s -lsfml-graphics-s -lsfml-window-s -lsfml-system-s  -DGL_GLEXT_PROTOTYPES  -lpthread `$(PKG_CONFIG) freetype2 sfml glew openal --libs --cflags ` -lws2_32  -lwsock32  -liphlpapi -lz


4
Discussions générales / Re: MXE problème ld
« le: Août 24, 2019, 11:12:50 am »
J'ai rajouté -DSFML_STATIC à ma ligne de compilation, mais j'ai toujours le même résultat
mais leur expression a un peu changé
/home/dominique/MXE/mxe/usr/i686-w64-mingw32.static/lib/libsfml-window-s.a(JoystickImpl.cpp.obj):JoystickImpl.cpp:(.text+0x224c): undefined reference to `_imp__joyGetPosEx@8'
/home/dominique/MXE/mxe/usr/i686-w64-mingw32.static/lib/libsfml-window-s.a(JoystickImpl.cpp.obj):JoystickImpl.cpp:(.text+0x2d4d): undefined reference to `_imp__joyGetDevCapsW@12'
/home/dominique/MXE/mxe/usr/i686-w64-mingw32.static/lib/libsfml-window-s.a(JoystickImpl.cpp.obj):JoystickImpl.cpp:(.text+0x339f): undefined reference to `_imp__joyGetPosEx@8'
/home/dominique/MXE/mxe/usr/i686-w64-mingw32.static/lib/libsfml-system-s.a(SleepImpl.cpp.obj):SleepImpl.cpp:(.text+0x24): undefined reference to `_imp__timeGetDevCaps@8'
/home/dominique/MXE/mxe/usr/i686-w64-mingw32.static/lib/libsfml-system-s.a(SleepImpl.cpp.obj):SleepImpl.cpp:(.text+0x34): undefined reference to `_imp__timeBeginPeriod@4'
/home/dominique/MXE/mxe/usr/i686-w64-mingw32.static/lib/libsfml-system-s.a(SleepImpl.cpp.obj):SleepImpl.cpp:(.text+0x59): undefined reference to `_imp__timeEndPeriod@4'
collect2: error: ld returned 1 exit status
Makefile:13 : la recette pour la cible « oscSpace3D » a échouée
make: *** [oscSpace3D] Erreur 1

j'ai le même problème si j'utilise en test le programme d'exemple

#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;
}

5
Discussions générales / MXE problème ld
« le: Août 24, 2019, 10:39:11 am »
Mon programme fonctionne sous Linux.
Lorsque je veux le compiler avec MXE, il compile mais j'obtiens une fin de non recevoir du linker :

.....................
/tmp/ccg7Mp6N.o:oscSpace3D.cpp:(.text.startup+0x4374f): undefined reference to `_imp___ZTVN2sf6SpriteE'
/tmp/ccg7Mp6N.o:oscSpace3D.cpp:(.text.startup+0x43784): undefined reference to `_imp___ZTVN2sf6SpriteE'
/tmp/ccg7Mp6N.o:oscSpace3D.cpp:(.text.startup+0x43793): undefined reference to `_imp___ZN2sf13TransformableD2Ev'
/tmp/ccg7Mp6N.o:oscSpace3D.cpp:(.text.startup+0x437b6): undefined reference to `_imp___ZTVN2sf6SpriteE'
/tmp/ccg7Mp6N.o:oscSpace3D.cpp:(.text.startup+0x437eb): undefined reference to `_imp___ZTVN2sf6SpriteE'
/tmp/ccg7Mp6N.o:oscSpace3D.cpp:(.text.startup+0x437fa): undefined reference to `_imp___ZN2sf13TransformableD2Ev'
/tmp/ccg7Mp6N.o:oscSpace3D.cpp:(.text.startup+0x4381d): undefined reference to `_imp___ZTVN2sf6SpriteE'
/tmp/ccg7Mp6N.o:oscSpace3D.cpp:(.text.startup+0x43852): undefined reference to `_imp___ZTVN2sf6SpriteE'
/tmp/ccg7Mp6N.o:oscSpace3D.cpp:(.text.startup+0x43861): undefined reference to `_imp___ZN2sf13TransformableD2Ev'
/tmp/ccg7Mp6N.o:oscSpace3D.cpp:(.text.startup+0x438de): undefined reference to `_imp___ZN2sf7TextureD1Ev'
collect2: error: ld returned 1 exit status
Makefile:13 : la recette pour la cible « oscSpace3D » a échouée
make: *** [oscSpace3D] Erreur 1
@debian:~/MXE/Compile/oscSpace3D$

J'utilise ceci dans mon make :

   $(CC)  -std=c++17 -O3 oscSpace3D.cpp -o oscSpace3D.exe  -L/home/dominique/MXE/mxe/usr/i686-w64-mingw32.static/lib -lboost_filesystem-mt -lboost_system-mt  -lpng -lwinmm -lfreetype -lgdi32 -lopengl32 -lglu32  -lsfml-graphics-s -lsfml-window-s -lsfml-system-s -llo -DGL_GLEXT_PROTOTYPES  -lpthread `pkg-config ` -lws2_32 -lwsock32 -liphlpapi

Pages: [1]