• 締切済み

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

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% (2126/6288)
回答No.3

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

全文を見る
すると、全ての回答が全文表示されます。
  • A88No8
  • ベストアンサー率52% (834/1602)
回答No.2

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

全文を見る
すると、全ての回答が全文表示されます。
  • jacta
  • ベストアンサー率26% (845/3158)
回答No.1

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

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Cygwinでの自作ヘッダファイルの使用方法

    Cygwinでソースをコンパイルすると cygdrive/c/DOCUME~1/user/..../cc5uZTak.o:submain.c: undefined reference to 'parameter' と言うエラーが出ます。 ヘッダファイルも宣言しているのですが...コンパイルが通りません ヘッダファイルの位置が行けないのでしょうか?

  • crypt関数を含むプログラムソースのgccを用いたコンパイルについて(C言語)

    crypt関数を含むCのプログラムソースをgccを用いてコンパイルしようとしたところ、 /cygdrive/c/DOCUME~1/○○○/LOCALS~1/Temp/ccGF0SZX.o:trip.c:(.text+0x373): undefined reference to `_crypt' collect2: ld returned 1 exit status と出てコンパイルできませんでした。 最初はcygwinのインストールの時に何かが足りていなかったのだろうと思い、すべてインストールしなおしたのですがそれでもやはりだめでした。 http://www.ninnin.net/blog/archives/000508.html に、gccなら問題なく使えると書いてあったのですが2005年の記事なので今はもう使用できなくなってしまったのでしょうか? どうかご教授お願いします。

  • コンパイル時のエラー

    UNIXでサーバー、クライアントのCプログラミングをテキストどおりに書いてコンパイルしたのですが、以下のエラーが出ます。gcc, ccでコンパイルすると以下のようになるのですが、これはどういうことなのでしょうか?何が原因なのでしょうか?よろしくお願いいたします。 gcc unix_server.c /var/tmp/ccvpay1f1.o: In function `main': /var/tmp/ccvpay1f1.o(.text+0x8c): undefined reference to `socket' /var/tmp/ccvpay1f1.o(.text+0x104): undefined reference to `unllnk' /var/tmp/ccvpay1f1.o(.text+0x118): undefined reference to `bind' /var/tmp/ccvpay1f1.o(.text+0x150): undefined reference to `listen' /var/tmp/ccvpay1f1.o(.text+0x1a8): undefined reference to `accept' cc unix_server.c ld: /usr/lib/cmplrs/cc/crtn.o: Error: Unresolved: rindex socket bzero bcopy unllnk bind listen accept

  • Cygwinのgccについて

    駄文で申し訳ありません。 cygwinのgccでC言語で作成したプログラムをコンパイルしたんですが、以下のようなコメントが返ってきました。 これはどういう意味なんでしょうか?warningなんで無視できるのでしょうか? ご教授下さい。 $gcc sample.c sample.c:60:2: warning: no newline at end of file /cygdrive/c/DOCUME^1/ユーザ名/LOCALS^1/Temp/cc6gA6nk.o:sample.c(.text+0xd7): undefined reference to _perro' collect2: ld returned 1 exit status

  • c言語 コンパイルエラー

    以下webページに載っているC言語のプログラムをコンパイルした時に ”/tmp/cchzThVk.o: In function 'c_to_sh': 5.c:(.text+0x5b3): undefined reference to 'sqrt' 5.c:(.text+0x64e): undefined reference to 'atan2' collect2: Id は ステータス1で終了しました。” とメッセージが出るのですが、このメッセージが出たときはプログラムにミスがあるということなのでしょうか。教えてくださいお願いします。 http://plaza.rakuten.co.jp/dragonkkk

  • sendmailのコンパイルエラーについて

    教えてください。>_< お願いします。 sendmail-8.12.2のインストールを試みたのですが、 エラーが返ってきます。 このエラーの意味、対処法などご存知の方 教えてください。 <エラー内容> domain.o: In function `getmxrr': domain.o(.text+0x25f): undefined reference to `__res_query' domain.o(.text+0x266): undefined reference to `__res_search' domain.o(.text+0x39b): undefined reference to `__dn_skipname' domain.o(.text+0x496): undefined reference to `__dn_expand' domain.o(.text+0x603): undefined reference to `__dn_expand' domain.o: In function `dns_getcanonname': domain.o(.text+0xf0c): undefined reference to `__res_querydomain' domain.o(.text+0x100f): undefined reference to `__dn_skipname' domain.o(.text+0x123f): undefined reference to `__dn_expand' domain.o(.text+0x128a): undefined reference to `__dn_expand' sm_resolve.o: In function `parse_dns_reply': sm_resolve.o(.text+0x17e): undefined reference to `__dn_expand' sm_resolve.o(.text+0x1fe): undefined reference to `__dn_expand' sm_resolve.o(.text+0x2e5): undefined reference to `__dn_expand' sm_resolve.o(.text+0x337): more undefined references to `__dn_expand' follow sm_resolve.o: In function `dns_lookup_int': sm_resolve.o(.text+0x612): undefined reference to `__res_search' collect2: ld returned 1 exit status make: *** [sendmail] エラー1 gccはバージョン2.96-81です。 OSはRedhatLinux7.1Jです。 よろしくお願いします。m(_)m

  • Linux GTK+でのコンパイルエラー

    GKT+でプログラミングをしたいと思い、下記のサイトを見ながらサンプルプログラムをコンパイルしたら下のようなエラーが表示されました。原因が全くわからず困っています。わかる方教えてください。 【参考にしたサイト】 http://samidarehetima.web.fc2.com/howtogtk/top.html#toc_1 【コード】 #include <gtk/gtk.h> //ボタンがクリックされたときに呼び出される関数 static void button_clicked(GtkWidget *button, gpointer user_data) { gtk_main_quit(); } int main(int argc, char** argv){ GtkWidget *window; gtk_init(&argc,&argv); window = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_widget_set_size_request(window,300,200); { //ボタンを作成する。 GtkWidget *button; button = gtk_button_new_with_label("Quit"); //ボタンをwindowに乗っける。 gtk_container_add(GTK_CONTAINER(window), button); //ボタンにclickedと表示し,押された時はbutton_clicked()を呼び出す。 g_signal_connect (G_OBJECT(button), "clicked" , G_CALLBACK(button_clicked), NULL); } g_signal_connect(window, "destroy", G_CALLBACK(gtk_main_quit), NULL); //windowの上にある物も全て表示する。(_allが付くことに注意) gtk_widget_show_all(window); gtk_main(); return 0; } 【エラー】 /tmp/ccmjmPda.o: In function `button_clicked': test.c:(.text+0x7): undefined reference to `gtk_main_quit' /tmp/ccmjmPda.o: In function `main': test.c:(.text+0x25): undefined reference to `gtk_init' test.c:(.text+0x31): undefined reference to `gtk_window_new' test.c:(.text+0x51): undefined reference to `gtk_widget_set_size_request' test.c:(.text+0x5d): undefined reference to `gtk_button_new_with_label' test.c:(.text+0x66): undefined reference to `gtk_container_get_type' test.c:(.text+0x76): undefined reference to `g_type_check_instance_cast' test.c:(.text+0x86): undefined reference to `gtk_container_add' test.c:(.text+0x9f): undefined reference to `g_type_check_instance_cast' test.c:(.text+0xcb): undefined reference to `g_signal_connect_data' test.c:(.text+0xeb): undefined reference to `gtk_main_quit' test.c:(.text+0xff): undefined reference to `g_signal_connect_data' test.c:(.text+0x10b): undefined reference to `gtk_widget_show_all' test.c:(.text+0x110): undefined reference to `gtk_main' collect2: ld はステータス 1 で終了しました

  • cygwin環境

    C言語にて作成したプログラムをcygwin環境にて(gcc)コンパイルすると "c:\DOCUME~1\ユーザ名\LOCALS~1\Temp/ccy2baaa.o:sl.c:(.text+0x4f):undefined reference to __imp__(func名)@16 collect2:ld returned 1 exit status" のようなエラーが発生してしまいます。 解決法は無いでしょうか??

  • 【gcc・cygwin】multiple definitionエラーの解決法

    こんにちは。 C言語のプログラミングをしているのですが、 multiple definition of '関数名'と出てしまいます。 ・コンパイルするファイル program1.c(main文) program2.c(関数) program3.c(関数) すべてのソースファイルが、 header.hをincludeしています。 header.hではすべての関数のプロトタイプ宣言がされています。 program2.cに書いてある関数、test()はすべてのソースファイルで使用しています。 ・cygwin上で実行したコマンド gcc -Wall program1.c program2.c program3.c -o test ・エラーの文章 (パス省略)/ccst1v2u.o:program2.c:(.text+0x0): mult iple definition of `_test' (パス省略)/ccyUr2Ku.o:program1.c:(.text+0x0): first defi ned here このような事態に陥った場合の解決方法はどのようにすればよいでしょうか? 先輩から引き継いだ、もともと一つのソースファイルに書かれていた多数の関数を、利便性のために分割したところこのようなエラーが発生しました。 先輩から引き継いだもののため、本当の関数名など細かいことをこちらに書き込めないのですが、 出来る範囲で補足いたします。 どうかよろしくお願いいたします。

  • Windowsコモンコントロールのcygwin/gccコンパイルエラー

    以下のサイトのようなWindowsコモンコントロールのプログラムをcygwin/gccコンパイルするとエラーがでます。 (sourceのサイト) http://wisdom.sakura.ne.jp/system/winapi/common/common16.html (ビルドコマンド) gcc -mwindows -mno-cygwin -o main.exe main.cpp (エラー出力) undefined reference to `_ImageList_Destroy@4' undefined reference to `_InitCommonControls@0' undefined reference to `_ImageList_Create@20' undefined reference to `_ImageList_ReplaceIcon@12' undefined reference to `_ImageList_ReplaceIcon@12' collect2: ld returned 1 exit status make: *** [main.exe] Error 1 Windowsコモンコントロールを含んだプログラムをcygwin/gccコンパイルするにはどうすればよいでしょうか? コンパイルは出来ないのでしょうか? よろしくお願いします。