Eclipse + MinGW:对myClass :: myInternalVar'的未定义引用

时间:2015-12-18 11:40:55

标签: c++ eclipse mingw windows-7-x64

我刚刚安装了MinGW和Eclipse并试图编写一个非常简单的Demo,我使用Project来构建可执行文件并为Class添加了两个文件。它实际上生成两个对象,text.o(带main的函数)和MyClass.o。但是我得到了错误,我认为链接似乎有问题:

12:23:24 ****增量构建配置项目测试调试**** 信息:内部构建器用于构建

g ++ -O0 -g3 -Wall -c -fmessage-length = 0 -o" src \ MyClass.o" " .. \ SRC \ MyClass.cpp"

g ++ -O0 -g3 -Wall -c -fmessage-length = 0 -o" src \ test.o" " .. \ SRC \ TEST.CPP"

g ++ -o test.exe" src \ test.o" " SRC \ MyClass.o"

src \ MyClass.o:MyClass.cpp :(。rdata $ .refptr._ZN7myClass13myInternalVarE [.refptr._ZN7myClass13myInternalVarE] + 0x0):未定义对`myClass :: myInternalVar'

的引用

collect2.exe:错误:ld返回1退出状态

MyClass Headerfile:

#ifndef MYCLASS_HPP_
#define MYCLASS_HPP_

class myClass{

private:

  static int myInternalVar;

protected:

public:

  myClass();

  myClass(int initVal);

  ~myClass();

  void set(int value);

  int get();

};

#endif /* MYCLASS_HPP_ */

MyClass Sourcefile:

#include "MyClass.hpp"


  myClass::myClass()
  {

  }

  myClass::myClass(int initVal)
  {

  }

  myClass::~myClass()
  {

  }

  void myClass::set(int value)
  {
    myClass::myInternalVar = value;
  }

  int myClass::get()
  {
    return myClass::myInternalVar;
  }

测试来源:

using namespace std;
#include <iostream>
#include "MyClass.hpp"


int main() {
    myClass* myClass_object = new myClass( 33 );
  int i = 0;
  cout << "!!!Hello World!!!" << endl; // prints !!!Hello World!!!

  i = myClass_object->get();

  cout << "Value is: " << i << endl;

    return 0;
}

我试图找到解决方案;我不认为代码是错的,而是日食中的环境。任何人都可以提供帮助,我刚刚开始使用MinGW和eclipse进行编程,并且令人沮丧的是这样一个简单的例子失败了。

非常感谢,

塞巴斯蒂安

0 个答案:

没有答案