Tout d'abord, merci Laurent pour ton bon conseil de toujours chercher à obtenir un code minimal ! Ce fut beaucoup moins difficile que je ne m'y attendait de passer de 600 à 22 lignes de codes pour reproduire l'erreur, et le code que j'ai obtenu ne se devine pas...
#include <SFML/Graphics.hpp>
#include <SFML/System.hpp>
void run()
{
//sf::Clock clock2;
sf::VideoMode video_mode2(800, 600);
}
int main()
{
//sf::Clock clock1;
sf::VideoMode video_mode1(800, 600);
sf::Thread thread(&run);
thread.launch();
thread.wait();
return 0;
}
J'ai mis en commentaire la création de clock1 et de clock2, c'est ici que ça devient intéressant. Après quelques test, en commentant alternativement clock1, clock2, video_mode1 et video_mode2, je me suis aperçu que l'erreur apparaît dans un cas très précis : lorsque dans un thread (soit le principale soit le secondaire),
au moins l'un des video_mode n'est pas commenté, et que dans l'autre thread, video_mode
ou clock n'est pas commenté.
N'hésitez pas à donner des réactions ou à demander plus de détails !
Je me demande si je suis le seul à trouver cette erreur totalement bizarre.
Note : si j’exécute le programme sans le debbuger tout semble se dérouler normalement, mais l'erreur est toujours la même avec celui-ci.