• ベストアンサー

C言語のコンパイルができません

http://www.c-lang.org/primer.html 上記サイトのC入門用プログラム「hello.c」と言うソースのコンパイルを試みたのですが、エラーが出てしまいコンパイルできません。OSはwindows7でコンパイラはMinGWです。

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

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.3

> ld.exe: cannot open output file a.exe: Permission denied Cコンパイラは、何段階かに動作が別れていて、その最後が「リンク」と呼ばれる作業です。これで最終的な実行ファイルになります。それを行うのが「リンカ」というもので、ldはリンカです。特に指定しなければ、gccを実行すると、リンカまで順番にやってきれます。 エラーは、メッセージにある通り、a.exeに書き込めない、というものです。 原因としては ・a.exeファイルの書き込み/削除権限が無いため ・a.exeが使用中でロックがかかっているため ・(a.exeファイルが存在しないのなら)そのディレクトリの書き込みが無いため が考えられます。 ・a.exeがあったら削除する ・ファイルやディレクトリのプロパティでセキュリティタグから権限を確認する。今利用中のユーザーでフルコントロールできるかどうか というあたりを確認してみましょう。

その他の回答 (2)

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.2

> エラーが出てしまいコンパイルできません そういうときは、まず、エラーメッセージを読むことから始めてください。 こういうところで質問する際にも、できるかぎり、そのままコピペするようにしてください。 そうでないと、答えが噛み合わないことになったり、エラーメッセージを見ればすぐに答えられる質問を何度も聞きかえさないといけなかったり、と、とても非効率的です。 さて、こっちでもコンパイルしてみましたが、手許のgccでは「警告(warning)」は出ますが、コンパイルには成功しますし、一応動作もします。あなたの言う「エラーが出てしまいコンパイルできません」というのは、エラーメッセージが出たことだけで判断していませんか? あるいは、そもそもコンパイラを使えるように設定していない、ということもあります 余談ですが、そのページだけ見ると、そこでCの勉強になるか、ちょっと疑問が残ります。

noname#140987
質問者

補足

c:/mingw/bin/../lib/gcc/mingw32/4.5.2/../../../../mingw32/bin/ld.exe: cannot open output file a.exe: Permission denied collect2: ld returned 1 exit status 上記がエラーメッセージです

  • DIooggooID
  • ベストアンサー率27% (1730/6405)
回答No.1

> コンパイルできません。   この表現は、正しくなくて・・・   コンパイルしましたが、プログラムコードにエラーがあるので、  コンパイルが正常に終了しません・・・   ではありませんか?

noname#140987
質問者

補足

その通りです。

関連するQ&A