Forum de la communauté SFML

Aide => Général => Discussion démarrée par: Glân de Brylan le Août 24, 2015, 03:34:35 pm

Titre: [Résolu]Warnings ennuyeux
Posté par: Glân de Brylan le Août 24, 2015, 03:34:35 pm
Bonjour,

Ce n'est pas vraiment un problème dans la mesure où cela n'empêche mon programme ni de compiler ni de fonctionner, mais quand je compile en mode Release et reçois des palettes d'avertissements de type "warning: inlining failed in call to 'virtual sf::Text::~Text() noexcept': call is unlikely and code size would grow [-Winline]". J'en ai au moins une bonne vingtaine des comme ça.

Ce qui est étrange est quand dans les fichiers concernés le mot-clé inline n'est nulle part...

C'est ennuyeux dans le mesure où cela me gêne pour voir les autres avertissements qui pourraient m'être utiles.

Y a-t-il un moyen de les retirer autrement qu'en retirant le flag -Winline de mon compilo ou dois-je faire avec ? Merci d'avance.
Titre: Re : Warnings ennuyeux
Posté par: Hiura le Août 28, 2015, 07:48:37 pm
Si tu utilises clang, un truc du style:

#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Winline"

#include <SFML/Graphics.hpp>

#pragma clang diagnostic pop
 

Il y a des commandes similaires si je ne m'abuse pour les autres compilateurs (gcc/msvc).
Titre: Re : Warnings ennuyeux
Posté par: Glân de Brylan le Août 28, 2015, 11:21:42 pm
Bon, eh bien s'il n'y a pas d'autres options que de retirer le -Winline, tant pis...merci quand même !
Titre: Re : Warnings ennuyeux
Posté par: Hiura le Août 30, 2015, 07:50:59 am
Je crois que tu m'as mal compris. Ces commandes permettent de désactiver localement certains warnings (ton code vas après le "pop").

Personnellement j'utilise -WEverything et ce genre de truc/astuce pour ne pas recevoir des warnings inutiles des bibliothèques tierces que j'utilise.
Titre: Re : Warnings ennuyeux
Posté par: Glân de Brylan le Août 30, 2015, 09:22:57 am
Ah, d'accord !
Bon dans ce cas je vais chercher la commande pour gcc. Merci beaucoup !

EDIT : En fait c'est exactement la même, il faut juste remplacer "clang" par "GCC".