私はファイルSpreadSheetCell.hとSpreadSheetCell.cppを持っています。
SpreadSheetCell.hを含む別のファイルSpreadSheet.cppがあります。この場合、SpreadSheetCell:SpreadSheetCell()などの未定義参照のようなエラーが表示されます。
代わりにSpreadSheetCell.cppをインクルードしようとすると行った。 cppファイルではなくヘッダファイルをインクルードするのは一般的ではありませんか?私はおそらく何が間違っていることができますか?.cppファイルのヘッダーファイルを含む
2
A
答えて
3
これはリンクエラーであり、コンパイル時にの定義を持つソースファイルを含めていないことを意味します。
使用しているコマンドラインにはおそらくSpreadSheetCell.cpp
がありません。
g++ -o myBinary SpreadSheet.cpp SpreadSheetCell.cpp [...more files?]
+0
Aww ..はい私はコンパイル中にSpreadSheetCell.cppをインクルードするのを忘れていました。ありがとう –
1
ソースコードを含めることは決してお勧めできません。常にヘッダーファイルのみをインクルードします。
あなたのファイルを見ることができませんが、私はSPreadSheetCell.hにファイル(SpreadSheet.hかもしれませんか?)が含まれており、循環依存が存在すると思います。
最良の方法は、(cppファイルとhファイルの両方に含まれる)ファイルのグラフを作成することです。どこかに「円」がある場合は、問題が見つかりました。その場合は、サークルが壊れたり、ファイルを小さなファイルに分割したり(サークルを削除するため)、1つのリンクを削除する必要があります。
0
(「円」私は再び含めたCを含むBを含むファイルを例えば意味。と)あなたのコードが表示されない場合は、お使いのSpreadSheetCell.cppはの#include「SpreadSheetCell.h」を持っていることを確認あなたのコンパイルコマンド!
関連する問題
- 1. ヘッダーファイルを含むエラー
- 2. Android.mk、すべてのcppファイルを含む
- 3. ヘッダーファイルとcppファイルのコーディング:別の動作
- 4. ヘッダーファイルの再定義エラー - cpp
- 5. Objective-Cのヘッダーファイルを含むコスト
- 6. C - プロトタイプのみを含むヘッダーファイル
- 7. お互いを含むC++ヘッダーファイル
- 8. .cppファイルを含める
- 9. C++の継承 - "::" s、.hファイル、.cppファイルの使用を含む関数のオーバーライド
- 10. ヘッダーファイルの再定義エラーに.cppを含める - 一般的なスタックの実装
- 11. cヘッダーファイルをC++ファイルに含める
- 12. は私が私のcppファイルでこれを含めたいのcppファイル
- 13. 関数定義のヘッダーファイルがいくつかの.cppファイルに含まれているとLNK2005がポップアップする
- 14. ヘッダーファイルとcppファイルを使用する場合の構造の定義方法は?
- 15. 2の.CPPファイルでこのヘッダーファイル(ヘッダーガードあり)を含むと、名前付けの衝突が発生するのはなぜですか?
- 16. vimのシンセティックでcppヘッダーファイルのチェックを有効にする
- 17. yaml-cpp形式の空白を含むマップ
- 18. テンプレートを含むjavascriptファイルを含む
- 19. ファイルを含む
- 20. PHPを含むファイル
- 21. C++ dllファイルにヘッダーファイルを含める方法
- 22. ヘッダーファイルを含める際の問題
- 23. cppに含まれるすべてのファイルを抽出する
- 24. C#他のファイルを含む
- 25. はLinuxのファイルを含む
- 26. jarのexeファイルを含む
- 27. ヘッダーファイルを複数回含むことによるC++の再定義
- 28. linuxのcppで.xlsファイルを読むには
- 29. Makefile clarification:別のヘッダを含むヘッダを含むファイル
- 30. .cppファイルにライブラリを含めるときは?
あなたは何をすることができますか、それはソースルークがないので、すべての視点です。 – user505160
あなたが間違っていることは、十分な詳細を与えずに質問していることです。 –