私のプロジェクトには奇妙な複数の定義エラーがあります。 私は#ifndef
プリプロセッサコマンドを使用して、同じファイルを複数回は含まないようにしています。私は他のすべてのコードをクリアしました。ここに私の単純化されたファイルは、次のとおりです。ヘッダーで奇妙な複数の定義エラーが発生しました
1 - main.cppに
#include "IP.hpp"
int main()
{
return 0;
}
2 - IP.cpp
#include "IP.hpp"
//some codes!
3 - IP.hpp
#ifndef IP_HPP_INCLUDED
#define IP_HPP_INCLUDED
unsigned char LUTColor[2];
#endif // IP_HPP_INCLUDED
の使用するコードブロックwin7の中& GNU GCC、それは言う:
OBJ \デバッグ\のmain.o:C:のAAA \ドキュメント\ \ Users \ユーザーPRG \ CT3 \ main.cppに| 4 |最初のここで定義します|
|| ===ビルド終了:1個のエラー、0警告=== |私は他のすべてのコードを削除する前に、エラーが
た:
|| === edgetest、デバッグ=== |
obj \ Debug \ IP.o ||関数 `Z9getHSVLUTPA256_A256_12colorSpace3b ':|
c:¥program files¥codeblocks¥mingw¥bin ..¥lib¥gcc¥mingw32¥4.4.1¥include¥C++¥exception | 62 | LUTColorの複数定義|
obj \ Debug \ main.o:C:\ Users \ aaa \ Documents \ prg \ edgetest \ main.cpp | 31 |ここで最初に定義された|
|| ===ビルド終了:2個のエラー、0警告=== |
「LUTColor」はIP.hppにあります。
どういうところが間違っていますか?
可能重複(http://stackoverflow.com/questions/ 223771/repeated-multiple-definition-errors-with-same-head-in-multiple-cpps) –