
こんにちは。
C言語の開発環境について質問なのですが、
今まで、visual studio 2010 C++でプログラムの練習をしていたのですが、gccでプログラムを書いたほうが良いということを以前お聞きしたので、gccのMinGWをインストールしてテキストエディターにプログラムを記述しました。
実際に実行したのですが、その際、Visual Stuido のファイルが勝手に開き、書いたプログラムがそこに記述されるようになっただけなのですが、これは正常な動きなのでしょうか?
もし、正常であるならば、この後どのようなことをすればよろしいのでしょうか?
正常でない場合であれば、どのように対策をすればよろしいですか?
No.4ベストアンサー
- 回答日時:
> 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のテキストエディタで開いた、というのと同じです。
これだけではコンパイルはされていません。
> そして、コマンドプロントの方は何も表示されない状態になりました。
> おそらく、コンパイラしてエラーがなかったのだと思います。
違います。
コンパイルそのものが実行されていません。
ご回答ありがとうございます。
もう一度、MinGWをインストールしなおしてみると、どうやらMinGW manegerからC言語に必要なパッケージをインストールしていなかったのが原因でした。
今はしっかり自分のコードがコンパイルされて、実行も可能です。
No.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 で始まるコマンドプロンプト入力をしろという指示があるはずですよ?
ご回答ありがとうございます。
MinGWからgccをインストールしていなかったのが原因でした。
参考書にはその説明が載っていなかったので、サイトを参考にして何とかインストールできました。
Visual Studio C++が何故起動したのかもわかりました。
今後も勉強に励んでいきます。
No.3
- 回答日時:
何もかも間違ってますね。
PATHの設定がうまくいってない
>これは、おそらく英語が日本語になっただけの問題だと思うのですが、
全然違うメッセージです。英語がわからなければ翻訳サイトなどを利用してください。
>次にコマンドプロント内に
>HelloWorld.c
>と入力しました。
何故またそんなことを?参考書にそうしろと書いてありましたか?
>何がいけないのでしょうか?
参考書を読みながらやっていて、何故そんなことになってしまうのか?
ちゃんと、書いてあるとおりにやりましょう。
要点だけ書くと、
1.まず、PATHをちゃんと設定する(インストールの最初からやり直した方が良いかも)
2.gcc HelloWorld.c
3.a
この回答への補足
ご回答ありがとうございます。
根本から間違ってる、それがわかったので、もう一度参考書やサイトを確認して、やり直います。
複数のご解答ありがとうございました。
No.2
- 回答日時:
>C:\CLang>HelloWorld.c
>と入力してエンターを押しました。
それは、「HelloWorld.c を 拡張子Cに関連付いたプログラムで開け」という命令です。
参考書を見ながらインストールしたと言うことですが、コンパイルの方法がその参考書に書いてないはずは無いので、ちゃんと最後まで読みましょう。
コンパイラにパスがちゃんと通っていれば、
gcc Helloworld.c
というコマンドでコンパイルできます。エラーが無ければ、コンパイルの結果 a.exe というファイルが出来るので、
a
で実行できます。
この回答への補足
迅速な解答ありがとうございます。
まだ、うまくいかずで、ことの詳細を書きます。
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!
と表示されなければなりません。
何がいけないのでしょうか?何度も申し訳ありません。ご教示お願いします。
No.1
- 回答日時:
> 実際に実行した
具体的にどんな操作をしたのですか?
気付かなかったかもしれませんが、VisualStudioでは
テキストでソースコードを書く
→ コンパイル(ビルド)して実行ファイル(.exe)に変換
→ 実行ファイルを実行
という手順でプログラムを実行しています。
GCCでも、同様のこと(コンパイルしてできた実行ファイルを実行)をする必要があります。
方法は解説サイト、参考書等を探せば見つかるはずです。
おそらく、 ~.cファイルをダブルクリックしたのではないでしょうか?
ダブルクリックで「開く」を実行
→拡張子の関連付けで.CはVisualStudioで開くようになっている
→VisualStudioで「開いた」
という動作でしょう。
現状の設定としたは「正しい」動作ですが
「プログラムを実行して欲しい」という、あなたの期待とは違う動作です。
この回答への補足
ご回答ありがとうございます。
この現象が起きるまでの過程を申し上げますと、
まず、参考書を参照しながら、「gccのMinGW」をインストールしました。(すでにVisual Studio C++はインストールしていました。)
その後、コントロールパネルの「システムの詳細設定」より、環境変数を既存のものに「;C:\MinGW\bin]を追加しました。
次に、「CLang」というフォルダを作成し、コマンドプロントのカレントディレクトリを「C:\CLang」に設定しました。
そして、テキストエディタを開いて、「HelloWorld.c」で保存し、簡単なプログラムを書きました。
コマンドプロントにて
C:\CLang>HelloWorld.c
と入力してエンターを押しました。
そうすると、Visual Stuido C++が開いて、テキストエディタでかいたプログラムがVSC++の方に反映されただけで、プログラムが実行されない状況におちいりました。
これも正常な動きとのことですが、ここからこのVisual Studio C++が出なくて、かつプログラムが実行されるにはどのようすればよろしいのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Windows 10 Visual StudioとVisual C++ Build Toolsについて 1 2023/04/16 03:42
- C言語・C++・C# exeファイルが作れない(windows10) 6 2022/08/13 08:47
- その他(プログラミング・Web制作) どうしてもエラーが解決できません。 1 2022/07/23 04:32
- その他(プログラミング・Web制作) Visual StudioでDjangoのプロジェクト配下のappを作成する方法 1 2022/05/01 03:47
- C言語・C++・C# visual studioでフォームデザインを作成する時のVB.netとC#の違い 2 2023/06/22 03:04
- その他(プログラミング・Web制作) Scratchについてです 作ったプログラムをコンピュータに保存してそのまま何もいじらずにそのプログ 1 2022/05/19 18:51
- C言語・C++・C# Switch向けにpcでc言語でゲームを作っているのですが、開発環境はWindows10のvisua 1 2022/04/02 07:04
- C言語・C++・C# PC画面を録画するプログラムでdllの読み込みエラー 1 2023/04/22 08:31
- Java EclipseとVisual StudioをPC1台にインストールしただけではPCは重くならない? 3 2022/12/08 15:35
- その他(プログラミング・Web制作) VS codeを使って、ラズパイ Picoを動かせる簡単な方法 1 2023/04/27 13:49
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アプリケーションのDLLファイル...
-
<unistd.h>をVisualStudioでつ...
-
ビープ音が鳴りません・・・
-
共有ライブラリの内容確認について
-
ソフトのインストール方法について
-
すべてのリビルド: 0 正常、 0 ...
-
「インクルードファイル 'pthre...
-
c言語です コンパイルした時に...
-
C++Builderの選択
-
C++プログラミングの文字化けの...
-
秀丸からTEXに変換する法?
-
[COBOL] ソースの復帰
-
VCでコンパイラ実行時に警告を...
-
C90とC99の計算結果の違い?
-
gccコンパイル時のエラーメッセ...
-
gcc バージョン違いによるコン...
-
VC++6.0 で使用可能な、"Platfo...
-
gcc コンパイル killed
-
Visual Basic.NETの処理速度は6...
-
latex cite, ref
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
アプリケーションのDLLファイル...
-
<unistd.h>をVisualStudioでつ...
-
すべてのリビルド: 0 正常、 0 ...
-
math.hに含まれる関数が使えない
-
実行後にコンパイルに失敗しま...
-
C言語で作ったらWindowsでもMac...
-
共有ライブラリの内容確認について
-
C#で char型とstring型の比較で...
-
同じEXE・同じファイルで解析結...
-
gcc コンパイル killed
-
64ビットのlinuxで32ビットメモ...
-
自作DLLの中身を暗号化
-
gccでc++プログラムをコンパイ...
-
実行ファイルが作成環境以外のP...
-
gcc バージョン違いによるコン...
-
<math.h>ヘッダを入力している...
-
lhafileをインストールしたい
-
#If True Then の # って何??
-
c言語です コンパイルした時に...
-
シリアル通信の受信待ちについて
おすすめ情報