こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

gccとvisual studio2010について

こんにちは。

C言語の開発環境について質問なのですが、

今まで、visual studio 2010 C++でプログラムの練習をしていたのですが、gccでプログラムを書いたほうが良いということを以前お聞きしたので、gccのMinGWをインストールしてテキストエディターにプログラムを記述しました。
実際に実行したのですが、その際、Visual Stuido のファイルが勝手に開き、書いたプログラムがそこに記述されるようになっただけなのですが、これは正常な動きなのでしょうか?

もし、正常であるならば、この後どのようなことをすればよろしいのでしょうか?

正常でない場合であれば、どのように対策をすればよろしいですか?

投稿日時 - 2015-01-21 08:09:27

QNo.8898691

すぐに回答ほしいです

質問者が選んだベストアンサー

> gcc : fatal error : no input files compilation terminated

これは、gccが動作していて、その上で入力するファイルが無い、というエラー

> 'gcc'は内部コマンド、外部コマンド
> 操作可能プログラムまたはパッチファイルとして認識されていません。

これは、そもそもgccが見付からない、という コマンドプロンプトが出すエラー。

まったく別のものです。

確認用には
gcc --version
を使いましょう。正しくインストールされていればGCCのバージョン情報が表示されます。



このエラーが出るということは
○PATHの設定が間違えている
○MinGWはインストールしたけど、gccはインストールしていない
のどちらか(あるいは両方)です。

> ;C:\MinGW\bin」を追加。

したのなら、
DIR C:\MinGW\bin
でファイル一覧を見てください(エクスプローラから上記フォルダを見てもいいです)
その中に gcc.exe はありますか?

また
PATH
とコマンドを入力すれば、現在のPATHが表示されます
その中に追加したC:\MinGW\bin は入っていますか?

> 次にコマンドプロント内に
> HelloWorld.c
> と入力しました。この際に、Visual Studio C++が開き、私の書いたコードが反映されます。

これは、エクスプローラからダブルクリックして、Visual Sutdioのテキストエディタで開いた、というのと同じです。
これだけではコンパイルはされていません。

> そして、コマンドプロントの方は何も表示されない状態になりました。
> おそらく、コンパイラしてエラーがなかったのだと思います。

違います。
コンパイルそのものが実行されていません。

投稿日時 - 2015-01-22 00:23:47

お礼

ご回答ありがとうございます。

もう一度、MinGWをインストールしなおしてみると、どうやらMinGW manegerからC言語に必要なパッケージをインストールしていなかったのが原因でした。

今はしっかり自分のコードがコンパイルされて、実行も可能です。

投稿日時 - 2015-01-22 12:32:16

ANo.4

このQ&Aは役に立ちましたか?

16人が「このQ&Aが役に立った」と投票しています

回答(5)

ANo.5

> 次にコマンドプロント内に
>
> HelloWorld.c
>
> と入力しました。この際に、Visual Studio C++が開き、私の書いたコードが反映されます。
>
> そして、コマンドプロントの方は何も表示されない状態になりました。おそらく、コンパイラしてエラーがなかったのだと思います。
ここが思い違いのある場所です。

「今まで、visual studio 2010 C++でプログラムの練習をしていた」あなたの環境では、.c という拡張子を持つファイル名だけを入力した時はその .c という拡張子に対応したプログラムである visual studio 2010 でそのファイルを開くという事を行います。その結果が「Visual Studio C++が開き、私の書いたコードが反映されます」ということです。

そして、その時点では Visual Studio はただ単にそのファイルを開いただけでそれ以外のことは何も行っていません。なにも、です。コンパイルなんてしていません。
コンパイルしていないのですから当然 a.exe なんてできていません。したがって、そのあとで
> a
>
> と入力すると
>
> C:\CLang>'a'はは内部コマンド、外部コマンド
> 操作可能プログラムまたはパッチファイルとして認識されていません。
>
> と出てしまいます。
というのも当然です。

というか、gcc を使用するまともな初心者向け参考書ならばソースファイルを書いた後の手順としてコンパイルする手順が書いてあると思うのですが……。
 gcc ほにゃらら
というように gcc で始まるコマンドプロンプト入力をしろという指示があるはずですよ?

投稿日時 - 2015-01-22 00:25:29

お礼

ご回答ありがとうございます。

MinGWからgccをインストールしていなかったのが原因でした。

参考書にはその説明が載っていなかったので、サイトを参考にして何とかインストールできました。

Visual Studio C++が何故起動したのかもわかりました。

今後も勉強に励んでいきます。

投稿日時 - 2015-01-22 12:34:55

ANo.3

何もかも間違ってますね。

PATHの設定がうまくいってない

>これは、おそらく英語が日本語になっただけの問題だと思うのですが、
全然違うメッセージです。英語がわからなければ翻訳サイトなどを利用してください。

>次にコマンドプロント内に
>HelloWorld.c
>と入力しました。
何故またそんなことを?参考書にそうしろと書いてありましたか?

>何がいけないのでしょうか?

参考書を読みながらやっていて、何故そんなことになってしまうのか?
ちゃんと、書いてあるとおりにやりましょう。

要点だけ書くと、
1.まず、PATHをちゃんと設定する(インストールの最初からやり直した方が良いかも)
2.gcc HelloWorld.c
3.a

投稿日時 - 2015-01-22 00:07:12

補足

ご回答ありがとうございます。

根本から間違ってる、それがわかったので、もう一度参考書やサイトを確認して、やり直います。

複数のご解答ありがとうございました。

投稿日時 - 2015-01-22 00:25:12

ANo.2

>C:\CLang>HelloWorld.c
>と入力してエンターを押しました。

それは、「HelloWorld.c を 拡張子Cに関連付いたプログラムで開け」という命令です。

参考書を見ながらインストールしたと言うことですが、コンパイルの方法がその参考書に書いてないはずは無いので、ちゃんと最後まで読みましょう。

コンパイラにパスがちゃんと通っていれば、
gcc Helloworld.c
というコマンドでコンパイルできます。エラーが無ければ、コンパイルの結果 a.exe というファイルが出来るので、
a
で実行できます。

投稿日時 - 2015-01-21 20:36:14

補足

迅速な解答ありがとうございます。

まだ、うまくいかずで、ことの詳細を書きます。
Path環境変数にエリア値に「;C:\MinGW\bin」を追加。

コマンドプロントを開き、gccを入力してEnterを押せば、

gcc : fatal error : no input files compilation terminated.
と表示されるはずなのですが、

私の場合、
C:\Users\○○>'gcc'は内部コマンド、外部コマンド
操作可能プログラムまたはパッチファイルとして認識されていません。

と出てしまいます。これは、おそらく英語が日本語になっただけの問題だと思うのですが、

次からが決定的で、

参考書には「Cドライブ直下に『CLang』というフォルダを作成し、コマンドプロントのカレント・ディレクトリを『C:\CLang』に設定してください」とあり、私は

C:\Users\○○>cd C:\CLang

と入力しました。

そうすると、私のコマンドプロント内では、

C:\CLang>

に変わりました。 この時点でCLangというファイルを「いじれる?」状態になってのでしょうか?

そして、次に参考書では、「テキストエディタを使って、コードを入力し、C:\CLang直下にHelloWorld.cという名前で保存してください」とあり、私は、テキストエディタを開いて、CLangのフォルダ内に「HelloWorld.c」という名前で保存しました。その後、簡単なプログラムを書きました。

次にコマンドプロント内に

HelloWorld.c

と入力しました。この際に、Visual Studio C++が開き、私の書いたコードが反映されます。

そして、コマンドプロントの方は何も表示されない状態になりました。おそらく、コンパイラしてエラーがなかったのだと思います。

そして、いざ

a

と入力すると

C:\CLang>'a'はは内部コマンド、外部コマンド
操作可能プログラムまたはパッチファイルとして認識されていません。

と出てしまいます。本来なら

Hello, World!

と表示されなければなりません。

何がいけないのでしょうか?何度も申し訳ありません。ご教示お願いします。

投稿日時 - 2015-01-21 23:12:19

ANo.1

> 実際に実行した

具体的にどんな操作をしたのですか?

気付かなかったかもしれませんが、VisualStudioでは
 テキストでソースコードを書く
→ コンパイル(ビルド)して実行ファイル(.exe)に変換
→ 実行ファイルを実行
という手順でプログラムを実行しています。

GCCでも、同様のこと(コンパイルしてできた実行ファイルを実行)をする必要があります。
方法は解説サイト、参考書等を探せば見つかるはずです。


おそらく、 ~.cファイルをダブルクリックしたのではないでしょうか?
 ダブルクリックで「開く」を実行
→拡張子の関連付けで.CはVisualStudioで開くようになっている
→VisualStudioで「開いた」
という動作でしょう。

現状の設定としたは「正しい」動作ですが
「プログラムを実行して欲しい」という、あなたの期待とは違う動作です。

投稿日時 - 2015-01-21 08:29:58

補足

ご回答ありがとうございます。

この現象が起きるまでの過程を申し上げますと、

まず、参考書を参照しながら、「gccのMinGW」をインストールしました。(すでにVisual Studio C++はインストールしていました。)

その後、コントロールパネルの「システムの詳細設定」より、環境変数を既存のものに「;C:\MinGW\bin]を追加しました。

次に、「CLang」というフォルダを作成し、コマンドプロントのカレントディレクトリを「C:\CLang」に設定しました。

そして、テキストエディタを開いて、「HelloWorld.c」で保存し、簡単なプログラムを書きました。

コマンドプロントにて

C:\CLang>HelloWorld.c

と入力してエンターを押しました。

そうすると、Visual Stuido C++が開いて、テキストエディタでかいたプログラムがVSC++の方に反映されただけで、プログラムが実行されない状況におちいりました。

これも正常な動きとのことですが、ここからこのVisual Studio C++が出なくて、かつプログラムが実行されるにはどのようすればよろしいのでしょうか?

投稿日時 - 2015-01-21 17:32:18

あなたにオススメの質問