Lorsque j'essaie de compiler un programme c++
à l'aide de g++
, l'erreur suivante apparaît, la trace de la pile est très longue, il ne s'agit que d'un exemple:
...........
/usr/include/x86_64-linux-gnu/bits/byteswap.h:47:2: error: stray ‘\330’ in program
/usr/include/x86_64-linux-gnu/bits/byteswap.h:47:2: error: stray ‘\330’ in program
/usr/include/x86_64-linux-gnu/bits/byteswap.h:47:2: error: stray ‘\340’ in program
/usr/include/x86_64-linux-gnu/bits/byteswap.h:47:2: error: stray ‘\5’ in program
/usr/include/x86_64-linux-gnu/bits/byteswap.h:47:2: error: stray ‘\260’ in program
In file included from /usr/include/endian.h:60:0,
from /usr/include/ctype.h:39,
from /usr/include/c++/4.8/cctype:42,
from /usr/include/c++/4.8/bits/localefwd.h:42,
from /usr/include/c++/4.8/ios:41,
from /usr/include/c++/4.8/ostream:38,
from /usr/include/c++/4.8/iostream:39,
from post_test_5.cpp:1:
/usr/include/x86_64-linux-gnu/bits/byteswap.h:1:1: error: expected unqualified-id before numeric constant
/usr/include/x86_64-linux-gnu/bits/byteswap.h:11:2: error: expected unqualified-id before numeric constant
In file included from /usr/include/endian.h:60:0,
from /usr/include/ctype.h:39,
from /usr/include/c++/4.8/cctype:42,
from /usr/include/c++/4.8/bits/localefwd.h:42,
from /usr/include/c++/4.8/ios:41,
from /usr/include/c++/4.8/ostream:38,
from /usr/include/c++/4.8/iostream:39,
from post_test_5.cpp:1:
/usr/include/x86_64-linux-gnu/bits/byteswap.h:26:31: error: expected declaration before ‘}’ token
Et exemple de code ispost_test_5.cpp
:
#include<iostream>
int main() {
std::cout << "Hello World" << std::endl;
return 0;
}
Et j'essaye de le lancer comme:
g++ -c post_test_5.cpp
Ma version gcc
et les versions d'ubuntu sont:
gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1)
kirill@kirill-ThinkPad-X140e:~/CPlusPlusStuff/PostTest$ lsb_release -d
Description: Ubuntu 14.04 LTS
Cependant, lorsque j'utilise la commande gcc
pour compiler le fichier .c
, tout fonctionne correctement.
Qu'est-ce qui pourrait éventuellement être la cause de cela?
Il semble que (au moins) le fichier /usr/include/x86_64-linux-gnu/bits/byteswap.h
ait été corrompu. Ouvrez-le avec un éditeur de texte et vérifiez s'il ressemble à un fichier d'en-tête C++ normal.
Si tel est le cas, réinstallez le paquet libc6-dev avec la commande Sudo apt-get --reinstall install libc6-dev
Si ce n'est pas le cas, vous devrez publier ici le contenu intégral du fichier post_test_5.cpp ainsi que la sortie complète de la compilation.