2013-02-19 2 views
0

Каждый раз, когда я делаю новый модуль и попытаться связать его с моим основным классом (Estudiant.o) используя следующую строку:Неопределенная ссылка в г ++ ссылки

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

я получаю эту ошибку:

red1.o:red1.cpp:(.text+0xd): undefined reference to Estudiant::consultar_DNI() const' red1.o:red1.cpp:(.text+0x18): undefined reference to Estudiant::Estudiant(int)' red1.o:red1.cpp:(.text+0x25): undefined reference to Estudiant::consultar_nota() const' red1.o:red1.cpp:(.text+0x74): undefined reference to Estudiant::afegir_nota(double)' red1.o:red1.cpp:(.text+0x83): undefined reference to Estudiant::~Estudiant()' red1.o:red1.cpp:(.text+0xa3): undefined reference to Estudiant::consultar_nota() const' red1.o:red1.cpp:(.text+0xe5): undefined reference to Estudiant::modificar_nota(double)' red1.o:red1.cpp:(.text+0x10b): undefined reference to Estudiant::Estudiant()' red1.o:red1.cpp:(.text+0x13a): undefined reference to Estudiant::llegir_estudiant()' red1.o:red1.cpp:(.text+0x144): undefined reference to Estudiant::te_nota() const' red1.o:red1.cpp:(.text+0x182): undefined reference to Estudiant::escriure_estudiant() const' red1.o:red1.cpp:(.text+0x18c): undefined reference to Estudiant::~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, и я все еще получаю эту ошибку. Я также попытался заменить все файлы, и это не сработало.

+0

Каков результат nm% OBJETOS_CPP% \ Estudiant.o? – StarPinkER

+0

И последнее сообщение «Estudiant.o», поэтому оно содержит функции, указанные в сообщениях об ошибках? –

+0

@billz Это Windows. Различный синтаксис для shell vars. – us2012

ответ

0

Мне удалось получить исходный код Estudiant.o и скомпилировать его другую версию с использованием кода, и он сработал. Я не знаю, почему один и тот же код был скомпилирован на двух разных машинах, а один работал, а другой - нет.

Смежные вопросы