webentwicklung-frage-antwort-db.com.de

Ein einfaches c-Programm kann in Linux Mint 15 nicht kompiliert werden

Ich bin ein Linux Mint 15 Benutzer.
Ich wollte ein einfaches Programm in C schreiben.
Unten ist mein Code. (Hw.c) 

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

Aber wenn ich versuche, es mit gcc zu kompilieren 

gcc -o hw hw.c

es gibt mir einen fehler 

hw.c:1:18: fatal error: stdio.h: No such file or directory
compilation terminated.

Ich googelte und fand einige Lösungen, die besagten, build-essential zu installieren.
und versuchte es zu installieren 

Sudo apt-get install build-essintial

aber es gibt wieder einen fehler. Der Fehler ist 

    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.

Also was ist los? Worin besteht das Problem?
Wie man es löst?

PS . Das Ergebnis von locate stdio.h ist 

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

Ich hatte das gleiche Problem und habe einfach das g ++ - Paket installiert und die fehlende Include-Datei behoben.

Sudo apt-get install g++

35
david

Ich hatte diese Situation zuvor:

    [email protected]:~# gcc -o tokens tokens.c
    tokens.c:1:19: fatal error: stdio.h: No such file or directory
    compilation terminated.

Sie schrieben:

    Sudo apt-get install build-essintial

Es gibt einen Tippfehler. Versuchen Sie es stattdessen (ich denke, Sie haben schon etwas Ähnliches gemacht):

    Sudo apt-get install --no-install-recommends gcc

und:

    Sudo apt-get install --no-install-recommends build-essential

Manchmal macht das Korrekturlesen einen Unterschied:

    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
    (...)

Dies hat den Fehler behoben. 

8
догонят

Der Paketname für die C-Standardbibliothek lautet libc6. Seine Header-Dateien befinden sich im Entwicklungspaket: libc6-dev. Bei einigen Linux-Distributionen ist das Entwicklungspaket nicht installiert. Sie müssen es selbst installieren:

Sudo apt-get install libc6-dev

Warum löst die Installation von build-essentials die Abhängigkeiten nicht auf, die ich nicht kenne? Aber ich denke, die Frage war nicht die Installation von build-essentials und vielleicht ist es überhaupt nicht nötig.

Verweise:

6
user2229691

FWIW, Mint 17 benötigt nur das Build-Essential, um C-Programme zu kompilieren:

# 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

Dieses Problem kann auftreten, wenn Sie aus einem falschen Verzeichnis versuchen ...

Ich schlage vor, nach einem Verzeichnis zu suchen.
Aktualisieren Sie das Betriebssystem durch: Sudo apt-get update.
Die letzte Option ist, den exixting gcc-Compiler zu entfernen und den neuen zu installieren.

Sie können dies auch versuchen:

g ++ -o [Dateiname] [Name der ausführbaren Datei]

0
krishna chalise