Ошибка «неопределенная ссылка на» при компиляции кода C++, но исходный код make-файла компилируетсяC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Ошибка «неопределенная ссылка на» при компиляции кода C++, но исходный код make-файла компилируется

Сообщение Anonymous »

Я загрузил общую реализацию AVL с:
http://sourceforge.net/projects/standar ... rdavl/0.1/

Makefile в этом проекте правильно компилируется код. Компилятор выдает следующий результат:

Код: Выделить всё

g++ -pedantic -Wall -O3 -c standardavl.cpp -o standardavl.o
g++ -pedantic -Wall -O3 -c Point.cpp -o Point.o
g++ -o standardavl  standardavl.o Point.o
g++ -o genpoints genpoints.o Point.o
Макияжный файл компилирует только «standardavl.cpp», потому что Standartavl включает «AvlTree.h», а этот файл включает «AvlTree.cpp»:

standardavl.cpp

Код: Выделить всё

#include "AvlTree.h"
#include "Point.h"
(...)
AvlTree.h

Код: Выделить всё

(...)
#include "AvlTree.cpp"
В моем проекте я удалил последнюю строку (#include "AvlTree.cpp") из файла AvlTree.h и скомпилировал эти файлы по отдельности. Я также не использую файл «standardavl.cpp». Я изменил файл Point.h на KeyPair.h и реализовал там все операторы.

Мой компилятор выдает следующий результат:

Код: Выделить всё

g++ -pedantic -Wall -O3 -c -o ../lib/CPUTimer.o ../lib/CPUTimer.cpp -I. -I../lib
g++ -pedantic -Wall -O3 -c -o ../lib/AvlTree.o ../lib/AvlTree.cpp -I. -I../lib
g++ -pedantic -Wall -O3 -c -o ../lib/keypair.o ../lib/keypair.cpp -I. -I../lib
g++ -pedantic -Wall -O3 -c -o graph.o graph.cpp -I. -I../lib
g++ -pedantic -Wall -O3 -c -o dijkstra.o dijkstra.cpp -I. -I../lib
g++ -pedantic -Wall -O3 -o ../../q1 ../lib/CPUTimer.o ../lib/AvlTree.o ../lib/keypair.o graph.o dijkstra.o questao1.cpp -I. -I../lib
dijkstra.o: In function 'Dijkstra::executeAvl(int)':
dijkstra.cpp:(.text+0x25d): undefined reference to 'AvlTree::AvlTree()'
(... a lot of errors like above ...)
collect2: ld returned 1 exit status
make[1]: ** [q1] Erro 1
Что я здесь делаю не так?

Подробнее здесь: https://stackoverflow.com/questions/602 ... inal-makef
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»