Impossible de compiler le programme c simple sous Linux Mint 15
Je suis un utilisateur de Linux Mint 15.
je voulais écrire simple programme en C.
Ci-dessous mon code.(hw.c)
#include<stdio.h>
#include<conio.h>
int main()
{
printf("Hello World");
}
Mais quand j'essaie de le compiler avec gcc
gcc -o hw hw.c
il me donne une erreur
hw.c:1:18: fatal error: stdio.h: No such file or directory
compilation terminated.
j'ai googlé et trouvé des solutions qui disent d'installer build-essential
et essayé de l'installer
sudo apt-get install build-essintial
mais il y a encore une erreur. L'erreur est
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
build-essential : Depends: libc6-dev but it is not going to be installed or
libc-dev
Depends: g++ (>= 4:4.4.3) but it is not going to be installed
Depends: dpkg-dev (>= 1.13.5) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
alors qu'est-ce qui ne va pas? Quel est le problème?
Comment le résoudre?
PS.
Le résultat de locate stdio.h
/usr/lib/perl/5.14.2/CORE/nostdio.h
/usr/lib/syslinux/com32/include/stdio.h
5 réponses
j'avais le même problème, et j'ai simplement installé le paquet g++ et qui a corrigé le fichier include manquant.
sudo apt-get install g++
j'ai eu cette situation avant:
rleclerc@fvrwbp01:~# gcc -o tokens tokens.c
tokens.c:1:19: fatal error: stdio.h: No such file or directory
compilation terminated.
Vous avez écrit:
sudo apt-get install build-essintial
il y a une faute de frappe. Essayez plutôt ceci (je suppose que vous avez déjà fait quelque chose de similaire):
sudo apt-get install --no-install-recommends gcc
et:
sudo apt-get install --no-install-recommends build-essential
parfois, la correction d'épreuves fait une certaine différence:
The following NEW packages will be installed:
build-essential dpkg-dev g++ g++-4.7 libc-dev-bin libc6-dev libdpkg-perl libstdc++6-4.7-dev libtimedate-perl linux-libc-dev make
(...)
cela a corrigé l'erreur.
FWIW, Mint 17 juste besoin de build-essential pour compiler des programmes en C:
# apt-get install build-essential
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
dpkg-dev g++ g++-4.8 libc-dev-bin libc6-dev libstdc++-4.8-dev
Suggested packages:
debian-keyring g++-multilib g++-4.8-multilib gcc-4.8-doc libstdc++6-4.8-dbg
glibc-doc libstdc++-4.8-doc
Recommended packages:
libalgorithm-merge-perl
The following NEW packages will be installed:
build-essential dpkg-dev g++ g++-4.8 libc-dev-bin libc6-dev
libstdc++-4.8-dev
0 upgraded, 7 newly installed, 0 to remove and 1 not upgraded.
le nom du paquet pour la bibliothèque standard C est libc6
. Ses fichiers d'en-tête sont dans le paquet de développement: libc6-dev
. Certaines distributions Linux n'ont pas le paquet de développement installé. Vous devez installer vous-même:
sudo apt-get install libc6-dev
Pourquoi l'installation de build-essentials
ne résout pas les dépendances que je ne connais pas. Mais je pense que la question n'était pas à propos de l'installation de build-essentials
et peut-être qu'il n'est pas nécessaire à tout.
Références:
ce problème peut se produire lorsque vous essayez à partir du mauvais répertoire...
je vous suggère de vérifier répertoire.
Mise à jour de l'OS par: sudo apt-get update.
La dernière option est de supprimer le compilateur gcc existant et d'installer le nouveau.
Vous pouvez aussi essayer ceci:
g++ - o [nom du fichier] [nom exécutable]