Ne peut pas compiler simple programme en c++ sous Ubuntu
J'ai essayé de créer un programme simple dans le terminal.
#include <stdio.h>
#include <stdlib.h>
int main()
{
printf("TESTING");
return 1;
}
J'ai couru g++ -o test test.cpp
Les erreurs:
/usr/include/features.h:323:26: error: bits/predefs.h: No such file or directory
/usr/include/features.h:356:25: error: sys/cdefs.h: No such file or directory
/usr/include/features.h:388:23: error: gnu/stubs.h: No such file or directory
In file included from test.cpp:2:
/usr/include/stdlib.h:42:29: error: bits/waitflags.h: No such file or directory
/usr/include/stdlib.h:43:30: error: bits/waitstatus.h: No such file or directory
/usr/include/stdlib.h:320:49: error: sys/types.h: No such file or directory
In file included from test.cpp:2:
/usr/include/stdlib.h:35: error: ‘__BEGIN_DECLS’ does not name a type
/usr/include/stdlib.h:102: error: expected constructor, destructor, or type conversion before ‘;’ token
/usr/include/stdlib.h:113: error: ‘__END_NAMESPACE_STD’ does not name a type
/usr/include/stdlib.h:122: error: expected constructor, destructor, or type conversion before ‘;’ token
/usr/include/stdlib.h:140: error: expected constructor, destructor, or type conversion before ‘extern’
/usr/include/stdlib.h:145: error: expected constructor, destructor, or type conversion before ‘extern’
/usr/include/stdlib.h:149: error: expected initializer before ‘__THROW’
/usr/include/stdlib.h:152: error: expected initializer before ‘__THROW’
/usr/include/stdlib.h:153: error: ‘__END_NAMESPACE_STD’ does not name a type
/usr/include/stdlib.h:160: error: ‘__END_NAMESPACE_C99’ does not name a type
/usr/include/stdlib.h:168: error: ‘__END_NAMESPACE_STD’ does not name a type
La liste continue de cette façon. Im espérant que quelqu'un peut faire remarquer que je n'ai pas fait pour faire ce travail.
Ce n'
voir si ubuntuforums.org/showthread.php?t=1877944 aide
J'ai peut-être résolu le problème. J'ai vérifié la sortie verbeuse et a décidé de simplifier le chemin. Je l'ai changé juste /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin Le programme compile maintenant, mais il ne marche pas afficher quoi que ce soit lors de l'exécution. Est-ce normal?
Avez-vous installé le
Une chose que j'ai appris très tôt, et de ne jamais le nom d'un programme "test" sur un UNIX ou UNIX-like) de la machine! Et comme vous, j'ai appris à la dure. 🙂 Pour une description de la
g++ --verbose -o test test.cpp
vous donner?voir si ubuntuforums.org/showthread.php?t=1877944 aide
J'ai peut-être résolu le problème. J'ai vérifié la sortie verbeuse et a décidé de simplifier le chemin. Je l'ai changé juste /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin Le programme compile maintenant, mais il ne marche pas afficher quoi que ce soit lors de l'exécution. Est-ce normal?
Avez-vous installé le
build-essential
-paquet? (sudo apt-get install build-essential
)Une chose que j'ai appris très tôt, et de ne jamais le nom d'un programme "test" sur un UNIX ou UNIX-like) de la machine! Et comme vous, j'ai appris à la dure. 🙂 Pour une description de la
test
commande ne man test
.OriginalL'auteur Nick Schudlo | 2012-02-15
Vous devez vous connecter pour publier un commentaire.
Votre code fonctionne pour moi avec la même plate-forme.
Les messages d'erreur ressembler C erreurs. Peut-être en utilisant le C++ en-têtes de l'aide.
Vous pouvez également avoir d'étranges alias. Parfois, les gens l'installation de gcc comme un alias pour g++ de manière incorrecte.
C'est comment j'ai configurer mon environnement de dev dans ubuntu:
Ce met en place toutes les bibliothèques C++ standard, sans avoir besoin de connaître les knitty détails insignifiants.
OriginalL'auteur Tom Kerr
J'ai été très similaire à cela. Dans mon cas, le problème était que j'avais une certaine corrompu fichiers d'en-tête, comme en témoigne essayer de les visualiser:
La solution pour moi a été de les purger les fichiers puis de les ré-installer.
aptitude reinstall
.Si quelqu'un n'a pas
aptitude
installé:sudo apt-get install --reinstall libc6-dev
fonctionne également.apt-get purge supprimé tout ce que j'avais déjà installé. En passant par la peine d'avoir à installer le tout à nouveau.
Après avoir essayé tout ce que je pouvais penser, c'est juste de le faire fonctionner. Merci!!!!
OriginalL'auteur dkinzer
SOLUTION: Mon chemin est vide à cause de certaines tentatives précédentes visant à mettre en œuvre. J'ai créé un propre chemin à l'aide de:
Mon problème après la compilation était que le programme ne serait pas afficher les résultats. Cela était dû au fait qu'en tant que nouvel utilisateur de linux, je n'ai pas rends compte que j'ai besoin d'appeler un programme ./en face. Ceci peut être mis dans le chemin d'accès aussi bien en appelant le:
.
dans votre CHEMIN d'accès peut être très dangereux.OriginalL'auteur Nick Schudlo