Récemment, je suis passé de Visual Studio à Eclipse CDT. J'ai mis à merveille de sorte que le compilateur G ++ de mon installation Cygwin puisse localiser et compiler mon code sans ADO. P>
Il y a un grief mineur, cependant. Chaque fois que g ++ signale un avertissement ou une erreur, les citations Simple Curly Ceci est uniquement pertinent google résultat que je pourrais Trouver , mais réglage de la variable d'environnement C ++ En cours d'exécution C ++ de Cygwin révèle directement les guillemets célibataires bouclés. Y a-t-il un moyen de les désactiver complètement? Y a-t-il une variable d'environnement que je peux définir ou un argument que je peux passer? P>
Eclipse montre des hiéroglyphes dans divers endroits: p>
Cygwin montre les symboles corrects (ignorer l'erreur fatale): p>
' code> et
' code> apparaissent comme
" code> respectivement
™ < / code>. Cela semble être un problème de codage du personnage; G ++ ou cygwin crache un codage de caractère que CDT ou Eclipse n'aime pas. P>
lang code> dans les préférences de Eclipse sur
C.utf-8 code> ou
EN_US.UTF-8 code> a aucun effet. P>
dans les images h2>
4 Réponses :
Yep, vous devez soit obtenir Eclipse pour afficher UTF-8, soit pour arrêter Cygwin GCC de l'utiliser. Je ne sais pas comment faire le premier, mais vous pouvez faire ce dernier en veillant à ce que GCC soit dirigé avec quelque chose comme Lang = EN_US.ISO-8859-1. P>
Oui, c'était ça! J'ai ajouté une variable d'environnement lang code> avec la valeur
EN_US.ISO-8859-1 CODE> Dans les préférences Eclipse, et maintenant les caractères s'affichent de manière lisible.
Cela a fonctionné pour moi aussi. La variable d'environnement doit être définie dans la fenêtre Préférences Eclipse sous C / C ++ / Build / Environment. Vous devez ajouter une nouvelle variable en cliquant sur le bouton Ajouter. Le nom de la variable doit être défini sur Lang et la valeur à EN_US.ISO-8859-1. Est-ce que quelqu'un sait quelle est la cause du problème? Cygwin, Eclipse, GCC ??? P>
S'il vous plaît poster cela comme un commentaire à la réponse d'AK2 à la place. De cette façon, il sera informé de votre réponse.
Selon les notes de version GCC 4.0 http://gcc.gnu.org/gcc- 4.0 / CHANGEMENT.HTML : P>
Les messages de diagnostic de langue anglaise utiliseront désormais des guillemets UNICODE dans les locaux UTF-8. (Les messages non anglais ont déjà utilisé les citations appropriées pour la langue dans les versions précédentes.) Si votre terminal ne prend pas en charge UTF-8, mais que vous utilisez un paramètre paramètre UTF-8 (ces localités sont la valeur par défaut sur de nombreux systèmes GNU / Linux). Vous devez définir
lc_ctype = c code> dans l'environnement pour désactiver cette locale. Les programmes qui analysent les diagnostics et s'attendent à définir des messages de langue anglaise de l'ASCII uni. CODE> LC_ALL = C CODE>. Voir Explication de Markus Kuhn's Explication des guillemets UNICODE pour plus d'informations. p> blockQuote>
Réponse 2 a fonctionné mieux pour moi lorsque vous utilisez GCC dans un terminal CYGWIN RXVT. P>
dans mon .bash_profile ajouté: p>
# Désactiver les guillemets UNICODE pour GCC P>
Exporter LC_CTYPE = C P>