En utilisant la dernière version du compilateur Microsoft (inclus avec le SDK Win7), j'essaie de compiler un fichier source codé en UTF-8 avec des séparateurs de ligne Unicode.Compilation de la source codée UTF-8 avec des séparateurs de ligne Unicode
Malheureusement, le code ne sera pas compilé - même si j'inclue la signature UTF-8 au début du fichier. Par exemple, si je tente de compiler ceci:
#include <stdio.h>
int main (void)
{
printf("Hello!");
return 0;
}
Je vais voir l'erreur suivante:
rapide> cl test.c
Microsoft (R) 32 bits C/C++ Optimisation du compilateur Version 15.00.30729.01 pour 80 x 86 Copyright (C) Microsoft Corporation. Tous les droits sont réservés.
test.c test.c (1): avertissement C4067: jetons inattendus suivant la directive de préprocesseur - attend une nouvelle ligne Microsoft (R) Version incrémentale Linker 9.00.30729.01 Copyright (C) Microsoft Corporation. Tous les droits sont réservés.
/out:test.exe test.obj LINK: LNK1561 d'erreur fatale: point d'entrée doit être définie
Quelqu'un at-il rencontré ce problème avant? Des solutions?
Merci! Andrew
En utilisant la boîte de dialogue "Options d'enregistrement avancées" de Visual Studio, je spécifie un codage UTF-8 utilisant des séparateurs de ligne Unicode. Le séparateur de ligne est codé comme UTF-8 comme il se doit. J'ai utilisé un éditeur hexadécimal pour vérifier que la nouvelle valeur de ligne est '0xE2 0x80 0xA8', qui est en effet utf8. –
Mais VS ne cherche pas 0xE2 0x80 0xA8. Il veut 0x0d 0x0a. Ce n'est pas grave si vous êtes moralement dans le droit, il veut que 0x0a, qui est toujours parfaitement utf8 valuid de toute façon. –
Intéressant. C'est une option que je n'ai jamais utilisée. Malheureusement, il semble que MSVC ne supporte pas les fichiers source dans ce format, même si l'éditeur le fait (je suppose que vous voudrez peut-être que vos programmes puissent traiter de tels fichiers de données). Juste curieux - savez-vous si un autre compilateur (GCC?) Le fait? –