2010-02-18 3 views
3

J'ai une base de code C++, et je suis en train de passer de Visual Studio à g ++, que dois-je définir dans Visual Studio afin que les erreurs de compilation dans gcc sont réduits? Avec g ++, ceci est réalisé par -ansi -pedantic.Quel paramètre Visual C++/option/flag est la contrepartie de -ansi -pedantic en g ++

+0

-pedantic est exactement ce qu'il dit; et donc largement inutile. Je l'éviterais et mettrais simplement en place une compilation automatisée utilisant les deux compilateurs. – Clifford

Répondre

4

Je crois que vous recherchez /Za.

+0

Avait totalement oublié ce commutateur. TBH, cependant, GCC est toujours un HELL de beaucoup plus pédant :) – Goz

1

La seule façon de faire est de compiler sous VStudio ET sous GCC. GCC peut être beaucoup plus pédant que VStudio :)

+1

@Goz: "GCC peut être beaucoup plus pédant que VStudio" - et vice versa. Ils sont pédantesques à propos de différentes choses. –

2

Vous devez probablement définir le niveau d'avertissement le plus élevé/W4 et également désactiver les extensions de langue spécifiques MS,/Za. Vérifiez également que vous utilisez l'option scope for loop/Zc: forScope

+0

/Zc: forScope est la valeur par défaut. Il n'est pas nécessaire de spécifier explicitement ce commutateur. –

+0

C'est la valeur par défaut pour les nouveaux projets, mais si vous avez un projet qui a été démarré dans VS2003 et ensuite mis à jour jusqu'en 2005 et/ou 2008, il sera éteint, donc ça vaut le coup de vérifier. –

Questions connexes