• 締切済み

コンパイル時に見たことないエラーが出ました

Cygwinを使ってコンパイルしたんですが ============================ /cygdrive/c/DOCUME~1/(コンパイルしたファイルのパス).c:(.text+0x187): undefi ned reference to `_(関数名)' ============================ というメッセージがでてきてコンパイルできません。 原因は何なのでしょうか?

みんなの回答

noname#153104
noname#153104
回答No.4

Google 翻訳では、Undefined reference to を 「への未定義の参照」 と訳していました。(今調べた) 関数が未定義、つまりプロトタイプ宣言ができていないということでしょうか? C言語でしたらプロトタイプ宣言がなくてもいけると思いますが… もしかしたら、関数自体の処理がどこにもないとか、関数名を間違えた、あるいは#includeしていないヘッダーファイルがあるかもしれませんね。 私の環境はBccだからエラーメッセージは違うと思いますが、私も前、getch()を使ったのにconio.hをインクルードしていないことからエラーが起きました。前Bccの前にはLSICを使っていて、それではconio.hなどインクルードしなくても使えたような気がして、ずっと悩んでいました。 一応私も初心者ですし、環境が違うので何とも言えませんが、とりあえず今あげたことかもしれません(あまり期待はしないでください)

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

コンパイルエラーではなくてリンクエラーです。 (関数名) のところに書いてある名前の関数の実体がない、と言われています。

  • A88No8
  • ベストアンサー率52% (836/1606)
回答No.2

こんにちは 関数名が定義されていないと叫んでいる原因は色々あると思いますが、タイプミスに一票入れます。

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

直接の原因はエラーメッセージのとおりです。 根本的な原因は、ソース、正確なメッセージ、およびMakefile(またはコンパイルに用いた実際コマンド)を補足していただかないと分かりません。

関連するQ&A

専門家に質問してみよう