2017-06-13 25 views
0

J'utilise QtTest et juste mis à jour pour Qt 5.9 et ont ce genre d'avertissements:Attention à la chute dans qtestmouse?

error: use of the 'fallthrough' attribute is a C++1z extension [-Werror,-Wc++1z-extensions] 

Ils pointent tous vers Q_FALLTHROUGH() dans qtestmouse.h Alors, évidemment, je dois ajouter quelque chose à QMAKE_CXXFLAGS mais ne peut pas savoir quoi exactement.

Je peux ignorer ces avertissements avec pragma mais je veux comprendre ce sujet un peu plus.

+0

Quel compilateur/version utilisez-vous? – LThode

Répondre

1

C'est facile - la réponse est dans le message d'erreur, où il est dit:

[-Werror,-Wc++1z-extensions]

qui spécifie les drapeaux d'avertissement générés ce diagnostic. Dans notre cas, nous ignorons la partie -Werror car nous ne voulons pas désactiver tout ce comportement, mais nous pouvons désactiver l'avertissement en utilisant la forme no- de l'autre drapeau, à savoir -Wno-c++1z-extensions.

(Q_FALLTHROUGH(), est mise en C++ 17 [[fallthrough]] construction dans votre cas en raison du compilateur et la version que vous avez le soutenir.)