• ベストアンサー

linker errorについて

Dev-C++というのを使ってます。参考書からコピーしたプログラムをコンパイルしたら、Linker error undefined reference to.....とエラーが出てしまいます。ポリモフィズムや、ポインタをプログラムのなかにつかっているのですが、コードは間違っていないし、どこを直していいのかわかりません。回答お願いします。

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

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

ライブラリが指定されていないか、関数または非局所オブジェクトが宣言だけで定義がないかのいずれかが原因かと思います。 これ以上、具体的なことが分かるためにも、エラーメッセージの全部を補足してください。

tenagaru
質問者

補足

色々なプログラムを試してみたらヘッダーファイルがあるときに発生すると思います。ヘッダーファイルをどこかに登録する必要があるのですか?

その他の回答 (3)

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

質問者さんは外国の方でしょうか? どうも日本語が通じていないようなので、もっと易しい表現で補足要求します。 > Linker error undefined reference to.....とエラーが出てしまいます。 .....の部分を省略せずに「全部」書いてください。

tenagaru
質問者

お礼

DEV C++で、私と同じ問題に合っている人などを参考にしたのですが、よく分からなく、Visual C++を使うことにし、やってみたら動きました。どうもすみません。ありがとうございます。

tenagaru
質問者

補足

すいません。補足してという所見過ごしてました。 スーパークラスをコンパイルした時は [Linker error] undefined reference to `WinMain@16' と一つだけ、エラーがでて。他にサブクラス3つとメインが一つあるのですが、それはそれぞれ、 [Linker error] undefined reference to `Contact::Contact(std::string const&, std::string const&, int const&, std::string const&, std::string const&)' 、 [Linker error] undefined reference to `Contact::print() const' 、[Linker error] undefined reference to `WinMain@16'などなど、5箇所メインプログラムには7箇所エラーがでます。 それぞれのクラスには別にヘッダーを作ってあります。他のプログラムをコンパイルした時、ヘッダーのあるものはやはりこのエラーが出てしまいます。私の何かコンパイルの仕方とか違うのかと思い。プロジェクトファイルを作ってから全てを保存したほうがいいのですかね?

  • phoenix343
  • ベストアンサー率15% (296/1946)
回答No.2

リンカエラーならコンパイルは済んでいるのでソース上では問題ないはずですね。 ライブラリが指定されていないだけでは?いずれにしろ、そのエラーの全文を載せていないのでこれ以上の回答は得られないと思います。ここよりかDevC++関係の掲示板に質問するべきかと思いますが。

  • suseimei
  • ベストアンサー率35% (17/48)
回答No.1

出ているのはリンクエラーですから、コンパイルは無事に済んでいます。ということは、必要なライブラリファイルを追加してみるとよいのではないでしょうか? 参考書に必要なライブラリファイルが明記されていませんか?

tenagaru
質問者

補足

付属にCDがついてるんですけど、そこにはやはりそのようなものがついてないような。ライブラリファイルって重にどのようなものが含まれてるんですか?