0

每次我创建一个新模块并尝试(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 toEstudiant::Estudiant(int)' 的引用 red1.o:red1.cpp:(.text+0x25): 未定义对 Estudiant::consultar_nota() const' red1.o:red1.cpp:(.text+0x74): undefined reference toEstudiant::afegir_nota(double ) 的引用)' red1.o:red1.cpp:(.text+0x83): 未定义对 Estudiant::~Estudiant()' red1.o:red1.cpp:(.text+0xa3): undefined reference toEstudiant::consultar_nota() 的引用 const' red1.o:red1.cpp:(.text+0xe5): 未定义对 Estudiant::modificar_nota(double)' red1.o:red1.cpp:(.text+0x10b): undefined reference toEstudiant::Estudiant的引用()' red1.o:red1.cpp:(.text+0x13a): 未定义对 Estudiant::llegir_estudiant()' red1.o:red1.cpp:(.text+0x144): undefined reference toEstudiant::te_nota() 的引用 const' red1.o:red1.cpp:(.text+0x182): 未定义对 Estudiant::escriure_estudiant() const' red1.o:red1.cpp:(.text+0x18c): undefined reference toEstudiant::的引用~Estudiant()' red1.o:red1.cpp:(.text+0x19f): undefined reference to 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: error: ld returned 1 exit status

而且我没有原始的 Estudiant.cpp,所以我认为这可能是因为编译和链接使用了不同的编译器,但我重新安装了 MinGW,但仍然出现此错误。我也尝试替换所有文件,但没有奏效。

4

1 回答 1

0

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

于 2013-02-19T10:36:12.953 回答