web-dev-qa-db-fra.com

Impossible de compiler un programme c simple dans Linux Mint 15

Je suis un utilisateur de Linux Mint 15.
Je voulais écrire un programme simple en C.
Ci-dessous, mon code. (Hw.c) 

#include<stdio.h>
#include<conio.h>
int main()
{
    printf("Hello World");
}

Mais, quand j'essaye de le compiler avec gcc 

gcc -o hw hw.c

ça 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 cela donne à nouveau 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 est 

/usr/lib/Perl/5.14.2/CORE/nostdio.h
/usr/lib/syslinux/com32/include/stdio.h
20
namco

J'avais le même problème et j'ai simplement installé le paquetage g ++ et corrigé le fichier d'inclusion manquant.

Sudo apt-get install g++

35
david

J'ai eu cette situation auparavant:

    rleclerc@fvrwbp01:~# gcc -o tokens tokens.c
    tokens.c:1:19: fatal error: stdio.h: No such file or directory
    compilation terminated.

Tu as é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 relecture fait une 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. 

8
догонят

Le nom du paquet pour la bibliothèque standard C est libc6. Ses fichiers d'en-tête sont dans le package de développement: libc6-dev. Le package de développement de certaines distributions Linux n'est pas installé. Vous devez l'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 ne concernait pas l'installation de build-essentials et que cela n'est peut-être pas nécessaire du tout.

Références:

6
user2229691

FWIW, Mint 17 a juste besoin de la compilation, essentielle pour compiler les programmes 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.
6
Mike Gleason

Ce problème peut venir lorsque vous essayez de mauvais répertoire ...

Je vous suggère de vérifier le répertoire.
Mettez à jour le système d'exploitation par: Sudo apt-get update.
La dernière option consiste à supprimer le compilateur gix existant et à installer le nouveau.

Vous pouvez aussi essayer ceci:

g ++ -o [NomFichier] [nom de l'exécutable]

0
krishna chalise