web-dev-qa-db-ja.com

Linux Mint 15で単純なCプログラムをコンパイルできない

私はLinux Mint 15ユーザーです。
iはCで簡単なプログラムを書きたいと思いました。
以下が私のコードです。(hw.c)

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

しかし、gccでコンパイルしようとすると

gcc -o hw hw.c

それは私にエラーを与えます

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

グーグルで検索して、インストールするように言っている解決策を見つけましたbuild-essential
それをインストールしようとしました

Sudo apt-get install build-essintial

しかし、再びエラーが発生します。エラーは

    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.

だから何が間違っているのですか?問題は何ですか?
解決方法

PS。結果として locate stdio.h

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

私は同じ問題を抱えていて、g ++パッケージをインストールするだけで、欠落しているインクルードファイルが修正されました。

Sudo apt-get install g++

36
david

私は前にこの状況がありました:

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

あなたが書いた:

    Sudo apt-get install build-essintial

タイプミスがあります。代わりにこれを試してください(あなたはすでに似たようなことをしたと思います):

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

そして:

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

時々、校正はいくつかの違いをもたらします:

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

これによりエラーが修正されました。

8
догонят

C標準ライブラリのパッケージ名はlibc6です。そのヘッダーファイルは、開発パッケージlibc6-devにあります。一部のLinuxディストリビューションには、開発パッケージがインストールされていません。自分でインストールする必要があります。

Sudo apt-get install libc6-dev

build-essentialsをインストールしても、わからない依存関係が解決されない理由。しかし、質問はbuild-essentialsのインストールに関するものではなく、おそらくまったく必要ではないと思います。

参照:

6
user2229691

FWIW、Mint 17は、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

この問題は、間違ったディレクトリから試行しているときに発生する可能性があります...

ディレクトリを確認することをお勧めします。
OSの更新:Sudo apt-get update。
最後のオプションは、既存のgccコンパイラーを削除して、新しいものをインストールすることです。

これを試すこともできます:

g ++ -o [ファイル名] [実行可能ファイル名]

0
Krishna Chalise