包括头文件的顺序

时间:2013-10-01 19:39:29

标签: header-files linker-errors

我在以下程序中遇到链接错误。

//FILE: CDummyMessage.h

#idndef DUMMY_FILE
#define DUMMY_FILE
#include "stdafx.h"

class CDummyMessage(){
static int objCount1;
std::string;
};

#endif //DUMMY_FILE


// CDummyMessage.cpp
all the necessary definition 

//main cpp file: SmartPointerExample.cpp
#include "stdafx.h"
#include "CDummyMessage.h"

int main(){
CDummyMessage* OBJ1= new CDummyMessage();
}

我收到此链接错误: -

Error   1   error LNK2005: "private: static int dummy::CDummyMessage::ObjCount1" (?ObjCount1@CDummyMessage@dummy@@0HA) already defined in DummyMessage.obj  C:\Users\Veil\Documents\Visual Studio 2012\Projects\SmartPointerExample\SmartPointerExample\SmartPointerExample.obj

我无法弄清楚此链接错误的原因。我已经使用了#ifndef指令来防止重复包含头文件。

1 个答案:

答案 0 :(得分:0)

我认为您的项目中有另一个名为CDummyMessage.cpp的文件?和Visual studio也编译了那个。