g ++链接中未定义的引用

时间:2013-02-19 09:27:15

标签: c++ linker g++ undefined-reference

每次我创建一个新模块并尝试使用以下行将其链接到我的主要课程(Estudiant.o)

g++ -o red1.exe red1.o %OBJETOS_CPP%\Estudiant.o

我收到此错误:

  

red1.o:red1.cpp :(。text + 0xd):未定义引用   Estudiant::consultar_DNI() const' red1.o:red1.cpp:(.text+0x18): undefined reference to Estudiant :: Estudiant(INT)”   red1.o:red1.cpp :(。text + 0x25):未定义引用   Estudiant::consultar_nota() const' red1.o:red1.cpp:(.text+0x74): undefined reference to Estudiant :: afegir_nota(双)”   red1.o:red1.cpp :(。text + 0x83):未定义引用   Estudiant::~Estudiant()' red1.o:red1.cpp:(.text+0xa3): undefined reference to Estudiant :: consultar_nota()const'   red1.o:red1.cpp :(。text + 0xe5):未定义引用   Estudiant::modificar_nota(double)' red1.o:red1.cpp:(.text+0x10b): undefined reference to Estudiant :: Estudiant()”   red1.o:red1.cpp :(。text + 0x13a):未定义引用   Estudiant::llegir_estudiant()' red1.o:red1.cpp:(.text+0x144): undefined reference to Estudiant :: te_nota()const'   red1.o:red1.cpp :(。text + 0x182):未定义引用   Estudiant::escriure_estudiant() const' red1.o:red1.cpp:(.text+0x18c): undefined reference to Estudiant ::〜Estudiant()”   red1.o:red1.cpp :(。text + 0x19f):未定义引用   Estudiant::~Estudiant()' c:/mingw/bin/../lib/gcc/mingw32/4.7.2/../../../../mingw32/bin/ld.exe: red1.o: bad reloc address 0x0 in section。ctors'collect2.exe:错误:   ld返回1退出状态

我没有原始的Estudiant.cpp,所以我认为可能是因为不同的编译器用于编译和链接,但我重新安装MinGW,我仍然收到此错误。 我也试图替换所有文件但它不起作用。

1 个答案:

答案 0 :(得分:0)

我设法获得了Estudiant.o的源代码,并使用代码编译了它的另一个版本并且它有效。我不知道为什么在两台不同的机器上编译相同的代码,一台工作,另一台没有。