• 締切済み

独習C 実行できない。

はじめまして。プログラミング初心者です。 先日独習Cという本を買ったのですが、その付属CD-ROMに添付されているGNU C compilierを使って実行しようとしてるのですが、何度本の通りにやってもうまくいきません。 簡単なプログラムを作ってTYC4THフォルダの中のsampleフォルダにtest.cというソースファイルを保存しました。 本によると、 ・ 読み取り専用の属性を解除 ・ソースファイルを保存したディレクトリに移動 ・gcc test.c と入力 ・a.exe と入力すると実行される となっています。 gcc test.cまではいいのですが、a.exeと入力すると 'a.exe'は、内部コマンドまたは外部コマンド 操作可能なプログラムまたはバッチファイルとして認識されていません。 と表示されます。どうすればいいのでしょうか?;;

みんなの回答

回答No.9

a.exeじゃなくてaで実行してみて

  • rnakamra
  • ベストアンサー率59% (761/1282)
回答No.8

これはWindowsのコマンドプロンプトでの話でしょうか。 それなら、そのフォルダにパスが通っていないだけと思います。 .\a.exe で実行できると思います。

  • asuncion
  • ベストアンサー率33% (2127/6289)
回答No.7

>int mai(void) ここがmainになっていませんが、大丈夫ですか?

mimicat219
質問者

お礼

ご指摘ありがとうございます。 修正しましたが、やはりダメでした。

  • Wr5
  • ベストアンサー率53% (2173/4061)
回答No.6

>C:/TYC4TH/MinGW/lib/libmingw32.a(main.o):main.c:(.text+0x104): undefined reference to `WinMain@16' gccの設定ファイル(リンカーの設定?)が、Windowsアプリケーションになっていると思われます。 作成しようとしているのはコンソールアプリケーションではないですか? あと、環境やエラーメッセージなどは正しく書きましょう。 # ふつ~にgccとか言われると、たいていの場合はUNIX系かと想像されるかと。 # WindowsでMinGWとか使ったことありませんので、実際の設定などについては他の方からの回答に期待。

  • Quant
  • ベストアンサー率18% (23/122)
回答No.5

a.outができていれば、a.exeにリネームして実行。

  • asuncion
  • ベストアンサー率33% (2127/6289)
回答No.4

>~.exeというものは全く生成されていませんでした>< >どうすれば生成されるのでしょうか? コンパイルが失敗しているのではないでしょうか? コンパイル時にエラーメッセージが出ていませんか? test.cの全貌を「そのまま」貼り付けていただけますか?

mimicat219
質問者

補足

ご回答ありがとうございます。 これがtest.cの全貌です。 #include<stdio.h> int mai(void) { printf("hello"); return 0; } また、gcc test.cと打った時 test.c:8:2: warning: no newline at end of file C:/TYC4TH/MinGW/lib/libmingw32.a(main.o):main.c:(.text+0x104): undefined referen ce to `WinMain@16' と表示されました。 どうでしょうか?

  • jacta
  • ベストアンサー率26% (845/3158)
回答No.3

多分ですが... ./a.exe で解決するような気がします。

mimicat219
質問者

補足

ご回答ありがとうございます。 今やってみましたが、 '.'は、内部コマンドまたは外部コマンド 操作可能なプログラムまたはバッチファイルとして認識されていません。 と出てきてしまいました;;

回答No.2

gccコマンドを実行したあと、同じフォルダにa.exeは生成されてますか? 生成される事を想定されている説明になってると思います。 ***.exeが生成されていたら、ちょっと読み替えて対応したほうがいいかもしれませんね。

mimicat219
質問者

補足

ご回答ありがとうございます。 ~.exeというものは全く生成されていませんでした>< どうすれば生成されるのでしょうか?

  • mindatg
  • ベストアンサー率48% (110/227)
回答No.1

1.パスが通っていないので、フルパスで実行する 2.環境変数のPATHにそのプログラム(a.exe)があるフォルダパスを追加する