Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Avez-vous perdu votre e-mail d'activation ?

Auteur Sujet: Bug, un caractère en trop dans mon paquet pour les packets perso.  (Lu 21413 fois)

0 Membres et 1 Invité sur ce sujet

Lolilolight

  • Hero Member
  • *****
  • Messages: 1232
    • Voir le profil
Re : Bug, un caractère en trop dans mon paquet pour les packets perso.
« Réponse #30 le: Juin 25, 2013, 04:23:25 pm »
Ouais t'as peux être raison, je note ça dans les améliorations futur à faire.
« Modifié: Juin 25, 2013, 04:25:37 pm par Lolilolight »

Lolilolight

  • Hero Member
  • *****
  • Messages: 1232
    • Voir le profil
Re : Bug, un caractère en trop dans mon paquet pour les packets perso.
« Réponse #31 le: Juin 28, 2013, 10:45:46 am »
Bon, j'ai essayer de compiler openSSL mais mon CPU ne le supporte pas, voilà pourquoi je dois faire mes propres algo.

Quand j'essayer de compiler SSL il m'affiche ça :

cryptlib.c:1:0: error: CPU you selected does not support x86-64 instruction set
make[1]: *** [cryptlib.o] Error 1
make[1]: Leaving directory `/c/openssl-src/openssl-1.0.1e/crypto'
make: *** [build_crypto] Error 1

PS : je suis sur windows 7 64bits.

Mais je n'utilise pas de version 64 bits de mingw car je veux que mon code soit compatible aussi sur les systèmes 32 bits.

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32504
    • Voir le profil
    • SFML's website
    • E-mail
Re : Bug, un caractère en trop dans mon paquet pour les packets perso.
« Réponse #32 le: Juin 28, 2013, 10:48:42 am »
Je pense que OpenSSL est compilable en mode 32 bits. Il faut sûrement juste passer le bon flag de compilation ou de configuration.
Laurent Gomila - SFML developer

Lolilolight

  • Hero Member
  • *****
  • Messages: 1232
    • Voir le profil
Re : Bug, un caractère en trop dans mon paquet pour les packets perso.
« Réponse #33 le: Juin 28, 2013, 12:36:25 pm »
Houla au niveau des flags je ne m'y connais pas... :/
Comment puis je savoir quel flag il faut mettre ?

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32504
    • Voir le profil
    • SFML's website
    • E-mail
Re : Bug, un caractère en trop dans mon paquet pour les packets perso.
« Réponse #34 le: Juin 28, 2013, 12:59:58 pm »
Apparemment ils ont un script de configuration en Perl, qui détecte le compilo et l'architecture. Du coup je ne sais pas trop, il faut sûrement lire la doc et/ou chercher un peu sur internet.
Laurent Gomila - SFML developer

domoi

  • Newbie
  • *
  • Messages: 9
    • Voir le profil

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32504
    • Voir le profil
    • SFML's website
    • E-mail
Re : Bug, un caractère en trop dans mon paquet pour les packets perso.
« Réponse #36 le: Juin 29, 2013, 07:33:08 pm »
Ou là :
http://gnuwin32.sourceforge.net/packages/openssl.htm

(GNU Win32 est l'endroit standard pour trouver des versions Windows de bibliothèques C Linux).

(désolé de ne pas y avoir pensé avant)
Laurent Gomila - SFML developer

christophedlr

  • Full Member
  • ***
  • Messages: 151
    • Voir le profil
    • E-mail
Re : Bug, un caractère en trop dans mon paquet pour les packets perso.
« Réponse #37 le: Juillet 18, 2013, 11:15:08 am »
Je précise qu'utiliser MingW en version x64 pose pas de soucis, suffit dans les options de compilation de lui passer le paramètre -m32, cela crée un binaire x86 et non x64.

Lolilolight

  • Hero Member
  • *****
  • Messages: 1232
    • Voir le profil
Re : Bug, un caractère en trop dans mon paquet pour les packets perso.
« Réponse #38 le: Juillet 18, 2013, 09:51:40 pm »
Ha merci pour toutes ces infos, bah, il y aura du boulot quand je récupérerai mon portable. (La semaine prochaine normalement car le type doit seulement changer l'écran, j'ai hésité entre ça ou en racheter un nouveau comme il as déjà 3 ans mon portable et que c'est vite foutu ces bazard et que en plus, ça coûte cher.)
Bref je m'arrangerai pour en avoir un bon plus tard pas trop cher, je connais des gens. :P

-Je vais pouvoir repasser au c++11 alors, à condition de trouver comment mettre le paramètre -m32 quand je compile avec dans code::block.

-Je vais pouvoir enfin changer mon chiffrement symétrique et faire un hachage pour les mots de passe dans la base de donnée. (Il faut dire pour le moment il n'y a que le chiffrement RSA.)
Je me demandais si il n'y avais pas moyen d'utiliser openSSL via QT mais bon comme je n'utilise pas QT pour la programmation réseau mais les sockets SFML avec les sélectors, je ne sais pas si on peut utiliser openssl avec QT sans passer par les socketSSL.
 
Bref je préfère largement SFML pour le réseau, j'avais essayer QT dans le passé mais ça ne marchait pas et puis je pense que SFML est plus adapté pour les jeux. :/

Et je vais pouvoir enfin finir a version custom de SFML. (je modifierai sans doute encore SFML après, quand j'aurai plus de connaissance dans la programmation native. (liés aux os.)
Pour tout ce qui est opengl j'ai pas trop de difficulté mais pour tout ce qui est code natif à l'os ça, je suis totalement novice là dedans.
Faut dire il y a tellement de librairies qui font ça pour nous que..., on a plus vraiment besoin de programmer à ce niveau là.
« Modifié: Juillet 18, 2013, 09:55:42 pm par Lolilolight »

domoi

  • Newbie
  • *
  • Messages: 9
    • Voir le profil
Re : Bug, un caractère en trop dans mon paquet pour les packets perso.
« Réponse #39 le: Juillet 23, 2013, 08:54:13 am »

Bref je préfère largement SFML pour le réseau, j'avais essayer QT dans le passé mais ça ne marchait pas et puis je pense que SFML est plus adapté pour les jeux. :/


Oui et non, les deux sont de "simple" wrapper, il n'y pas de réelle implémentation orienté jeux. De plus, ces deux libraries utilisent select en backend ce qui adapté pour un jeu multijoueur mais surement pas pour un jeu 'massivement' multijoueur. ;-)

Lolilolight

  • Hero Member
  • *****
  • Messages: 1232
    • Voir le profil
Re : Bug, un caractère en trop dans mon paquet pour les packets perso.
« Réponse #40 le: Juillet 24, 2013, 10:50:34 am »
Bon l'option -m32 ne marche pas il me renvoie cette erreur :

c:\mingw\mingw64\lib\gcc\x86_64-w64-mingw32\4.8.1\include\c++\cstdlib|178|error: expected unqualified-id before '__int128'|

PS : c'est __int28 et pas __int128.
« Modifié: Juillet 24, 2013, 10:54:40 am par Lolilolight »

Lolilolight

  • Hero Member
  • *****
  • Messages: 1232
    • Voir le profil
Re : Bug, un caractère en trop dans mon paquet pour les packets perso.
« Réponse #41 le: Juillet 24, 2013, 11:35:42 am »
Bon avec l'option -m32 ça ne marche carrément pas :

obj\Debug\main.o||In function `__gthread_equal':|
c:\mingw\mingw64\lib\gcc\x86_64-w64-mingw32\4.8.1\include\c++\x86_64-w64-mingw32\bits\gthr-default.h|680|undefined reference to `_pthread_equal'|
obj\Debug\main.o||In function `f1(int)':|
D:\Projets-c++\Testc++11\main.cpp|9|undefined reference to `___gxx_personality_sj0'|
D:\Projets-c++\Testc++11\main.cpp|9|undefined reference to `__Unwind_SjLj_Register'|
D:\Projets-c++\Testc++11\main.cpp|11|undefined reference to `__ZSt4cout'|
D:\Projets-c++\Testc++11\main.cpp|11|undefined reference to `__ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc'|
D:\Projets-c++\Testc++11\main.cpp|11|undefined reference to `__ZNSolsEi'|
D:\Projets-c++\Testc++11\main.cpp|11|undefined reference to `__ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc'|
D:\Projets-c++\Testc++11\main.cpp|10|undefined reference to `__Unwind_SjLj_Resume'|
D:\Projets-c++\Testc++11\main.cpp|10|undefined reference to `__Unwind_SjLj_Unregister'|
obj\Debug\main.o||In function `f2(int&)':|
D:\Projets-c++\Testc++11\main.cpp|17|undefined reference to `___gxx_personality_sj0'|
D:\Projets-c++\Testc++11\main.cpp|17|undefined reference to `__Unwind_SjLj_Register'|
D:\Projets-c++\Testc++11\main.cpp|19|undefined reference to `__ZSt4cout'|
D:\Projets-c++\Testc++11\main.cpp|19|undefined reference to `__ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc'|
D:\Projets-c++\Testc++11\main.cpp|18|undefined reference to `__Unwind_SjLj_Resume'|
D:\Projets-c++\Testc++11\main.cpp|18|undefined reference to `__Unwind_SjLj_Unregister'|
obj\Debug\main.o||In function `main':|
D:\Projets-c++\Testc++11\main.cpp|26|undefined reference to `___gxx_personality_sj0'|
D:\Projets-c++\Testc++11\main.cpp|26|undefined reference to `__Unwind_SjLj_Register'|
D:\Projets-c++\Testc++11\main.cpp|26|undefined reference to `___main'|
D:\Projets-c++\Testc++11\main.cpp|33|undefined reference to `__ZNSt6thread4joinEv'|
D:\Projets-c++\Testc++11\main.cpp|34|undefined reference to `__ZNSt6thread4joinEv'|
D:\Projets-c++\Testc++11\main.cpp|35|undefined reference to `__ZSt4cout'|
D:\Projets-c++\Testc++11\main.cpp|35|undefined reference to `__ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc'|
D:\Projets-c++\Testc++11\main.cpp|35|undefined reference to `__ZNSolsEi'|
D:\Projets-c++\Testc++11\main.cpp|35|undefined reference to `__ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c'|
D:\Projets-c++\Testc++11\main.cpp|36|undefined reference to `__Unwind_SjLj_Resume'|
D:\Projets-c++\Testc++11\main.cpp|36|undefined reference to `__Unwind_SjLj_Unregister'|
obj\Debug\main.o||In function `__tcf_0':|
c:\mingw\mingw64\lib\gcc\x86_64-w64-mingw32\4.8.1\include\c++\iostream|74|undefined reference to `__ZNSt8ios_base4InitD1Ev'|
obj\Debug\main.o||In function `__static_initialization_and_destruction_0':|
c:\mingw\mingw64\lib\gcc\x86_64-w64-mingw32\4.8.1\include\c++\iostream|74|undefined reference to `__ZNSt8ios_base4InitC1Ev'|
c:\mingw\mingw64\lib\gcc\x86_64-w64-mingw32\4.8.1\include\c++\iostream|74|undefined reference to `_atexit'|
obj\Debug\main.o||In function `std::operator==(std::thread::id, std::thread::id)':|
c:\mingw\mingw64\lib\gcc\x86_64-w64-mingw32\4.8.1\include\c++\thread|83|undefined reference to `___gxx_personality_sj0'|
c:\mingw\mingw64\lib\gcc\x86_64-w64-mingw32\4.8.1\include\c++\thread|83|undefined reference to `__Unwind_SjLj_Register'|
c:\mingw\mingw64\lib\gcc\x86_64-w64-mingw32\4.8.1\include\c++\thread|84|undefined reference to `__Unwind_SjLj_Unregister'|
obj\Debug\main.o||In function `std::thread::~thread()':|
c:\mingw\mingw64\lib\gcc\x86_64-w64-mingw32\4.8.1\include\c++\thread|143|undefined reference to `__ZSt9terminatev'|
obj\Debug\main.o||In function `std::thread::_Impl_base::~_Impl_base()':|
c:\mingw\mingw64\lib\gcc\x86_64-w64-mingw32\4.8.1\include\c++\thread|97|undefined reference to `__ZdlPv'|
obj\Debug\main.o||In function `std::thread::_Impl_base::~_Impl_base()':|
c:\mingw\mingw64\lib\gcc\x86_64-w64-mingw32\4.8.1\include\c++\thread|97|undefined reference to `__ZdlPv'|
obj\Debug\main.o||In function `std::thread::_Impl_base::~_Impl_base()':|
c:\mingw\mingw64\lib\gcc\x86_64-w64-mingw32\4.8.1\include\c++\thread|97|undefined reference to `__ZdlPv'|
obj\Debug\main.o||In function `std::chrono::duration<long long, std::ratio<1ll, 1ll> > std::chrono::__duration_cast_impl<std::chrono::duration<long long, std::ratio<1ll, 1ll> >, std::ratio<1ll, 1000ll>, long long, true, false>::__cast<long long, std::ratio<1ll, 1000ll> >(std::chrono::duration<long long, std::ratio<1ll, 1000ll> > const&)':|
c:\mingw\mingw64\lib\gcc\x86_64-w64-mingw32\4.8.1\include\c++\chrono|162|undefined reference to `___divdi3'|
obj\Debug\main.o||In function `void std::this_thread::sleep_for<long long, std::ratio<1ll, 1000ll> >(std::chrono::duration<long long, std::ratio<1ll, 1000ll> > const&)':|
c:\mingw\mingw64\lib\gcc\x86_64-w64-mingw32\4.8.1\include\c++\thread|269|undefined reference to `___gxx_personality_sj0'|
c:\mingw\mingw64\lib\gcc\x86_64-w64-mingw32\4.8.1\include\c++\thread|269|undefined reference to `__Unwind_SjLj_Register'|
c:\mingw\mingw64\lib\gcc\x86_64-w64-mingw32\4.8.1\include\c++\thread|279|undefined reference to `_nanosleep'|
c:\mingw\mingw64\lib\gcc\x86_64-w64-mingw32\4.8.1\include\c++\thread|283|undefined reference to `__Unwind_SjLj_Resume'|
c:\mingw\mingw64\lib\gcc\x86_64-w64-mingw32\4.8.1\include\c++\thread|283|undefined reference to `__Unwind_SjLj_Unregister'|
obj\Debug\main.o||In function `std::thread::thread<void (&)(int), int>(void (&)(int), int&&)':|
c:\mingw\mingw64\lib\gcc\x86_64-w64-mingw32\4.8.1\include\c++\thread|133|undefined reference to `___gxx_personality_sj0'|
c:\mingw\mingw64\lib\gcc\x86_64-w64-mingw32\4.8.1\include\c++\thread|133|undefined reference to `__Unwind_SjLj_Register'|
c:\mingw\mingw64\lib\gcc\x86_64-w64-mingw32\4.8.1\include\c++\thread|135|undefined reference to `__ZNSt6thread15_M_start_threadESt10shared_ptrINS_10_Impl_baseEE'|
c:\mingw\mingw64\lib\gcc\x86_64-w64-mingw32\4.8.1\include\c++\thread|135|undefined reference to `__Unwind_SjLj_Resume'|
c:\mingw\mingw64\lib\gcc\x86_64-w64-mingw32\4.8.1\include\c++\thread|135|undefined reference to `__Unwind_SjLj_Unregister'|
obj\Debug\main.o||In function `std::thread::thread<void (&)(int&), std::reference_wrapper<int> >(void (&)(int&), std::reference_wrapper<int>&&)':|
c:\mingw\mingw64\lib\gcc\x86_64-w64-mingw32\4.8.1\include\c++\thread|133|undefined reference to `___gxx_personality_sj0'|
c:\mingw\mingw64\lib\gcc\x86_64-w64-mingw32\4.8.1\include\c++\thread|133|undefined reference to `__Unwind_SjLj_Register'|
c:\mingw\mingw64\lib\gcc\x86_64-w64-mingw32\4.8.1\include\c++\thread|135|undefined reference to `__ZNSt6thread15_M_start_threadESt10shared_ptrINS_10_Impl_baseEE'|
||More errors follow but not being shown.|
||Edit the max errors limit in compiler options...|
||=== Build finished: 50 errors, 0 warnings (0 minutes, 3 seconds) ===|
 

Hors que sans l'option m32 ce bout de code fonctionne :

#include <iostream>
#include <utility>
#include <thread>
#include <chrono>
#include <functional>
#include <atomic>

void f1(int n)
{
    for (int i = 0; i < 5; ++i) {
        std::cout << "Thread " << n << " executing\n";
        std::this_thread::sleep_for(std::chrono::milliseconds(10));
    }
}

void f2(int& n)
{
    for (int i = 0; i < 5; ++i) {
        std::cout << "Thread 2 executing\n";
        ++n;
        std::this_thread::sleep_for(std::chrono::milliseconds(10));
    }
}

int main(int argc, char* argv[])
{

    int n = 0;
    std::thread t1; // t1 is not a thread
    std::thread t2(f1, n + 1); // pass by value
    std::thread t3(f2, std::ref(n)); // pass by reference
    std::thread t4(std::move(t3)); // t4 is now running f2(). t3 is no longer a thread
    t2.join();
    t4.join();
    std::cout << "Final value of n is " << n << '\n';
    return EXIT_SUCCESS;
}
 


Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32504
    • Voir le profil
    • SFML's website
    • E-mail
Re : Bug, un caractère en trop dans mon paquet pour les packets perso.
« Réponse #42 le: Juillet 24, 2013, 11:51:19 am »
Pourquoi est-ce que tu te fais chier avec un compilo 64 bits ?
Laurent Gomila - SFML developer

Lolilolight

  • Hero Member
  • *****
  • Messages: 1232
    • Voir le profil
Re : Bug, un caractère en trop dans mon paquet pour les packets perso.
« Réponse #43 le: Juillet 24, 2013, 12:20:46 pm »
Pour faire des tests et essayer d'implémenter le c++11 mais je n'arrive pas à l'avoir avec un compilateur 32 bits.
Bref je pense que je vais laisser tombé ça.

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32504
    • Voir le profil
    • SFML's website
    • E-mail
Re : Bug, un caractère en trop dans mon paquet pour les packets perso.
« Réponse #44 le: Juillet 24, 2013, 12:34:24 pm »
A peu près tous les gcc 32 bits sous Windows sont suffisamment récents pour avoir le support de C++11.
Laurent Gomila - SFML developer

 

anything