Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> unresolved externals 
:(
    Опции темы
Vaulter
Дата 15.6.2003, 23:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1724
Регистрация: 30.12.2002
Где: бункер

Репутация: 2
Всего: 22



линкер выдает:
Код

--------------------Configuration: 2dPoints - Win32 Debug--------------------
Linking...
2dPoints.obj : error LNK2001: unresolved external symbol "public: __thiscall RandomizedSearchTree<class Edge *>::~RandomizedSearchTree<class Edge *>(void)" (??1?$RandomizedSearchTree@PAVEdge@@@@QAE@XZ)
2dPoints.obj : error LNK2001: unresolved external symbol "public: class Polygon * __thiscall List<class Polygon *>::insert(class Polygon *)" (?insert@?$List@PAVPolygon@@@@QAEPAVPolygon@@PAV2@@Z)
2dPoints.obj : error LNK2001: unresolved external symbol "public: class Edge * __thiscall RandomizedSearchTree<class Edge *>::removeMin(void)" (?removeMin@?$RandomizedSearchTree@PAVEdge@@@@QAEPAVEdge@@XZ)
2dPoints.obj : error LNK2001: unresolved external symbol "public: bool __thiscall RandomizedSearchTree<class Edge *>::isEmpty(void)" (?isEmpty@?$RandomizedSearchTree@PAVEdge@@@@QAE_NXZ)
2dPoints.obj : error LNK2001: unresolved external symbol "public: class Edge * __thiscall RandomizedSearchTree<class Edge *>::insert(class Edge *)" (?insert@?$RandomizedSearchTree@PAVEdge@@@@QAEPAVEdge@@PAV2@@Z)
2dPoints.obj : error LNK2001: unresolved external symbol "public: __thiscall RandomizedSearchTree<class Edge *>::RandomizedSearchTree<class Edge *>(int (__cdecl*)(class Edge *,class Edge *),int)" (??0?$RandomizedSearchTree@PAVEdge@@@@QAE@P6AHPAVEdge@@0@ZH@Z)
2dPoints.obj : error LNK2001: unresolved external symbol "public: __thiscall List<class Polygon *>::List<class Polygon *>(void)" (??0?$List@PAVPolygon@@@@QAE@XZ)
2dPoints.obj : error LNK2001: unresolved external symbol "public: class Edge * __thiscall RandomizedSearchTree<class Edge *>::remove(class Edge *)" (?remove@?$RandomizedSearchTree@PAVEdge@@@@QAEPAVEdge@@PAV2@@Z)
2dPoints.obj : error LNK2001: unresolved external symbol "public: class Edge * __thiscall RandomizedSearchTree<class Edge *>::find(class Edge *)" (?find@?$RandomizedSearchTree@PAVEdge@@@@QAEPAVEdge@@PAV2@@Z)
Debug/2dPoints.exe : fatal error LNK1120: 9 unresolved externals
Error executing link.exe.

2dPoints.exe - 10 error(s), 0 warning(s)

если взять первое неразрешение, то в RandomizedSearchTree.cpp зеленым по черному:
Код

template<class T>
RandomizedSearchTree<T>::~RandomizedSearchTree (void)
{
 delete root;
}

и все компилится, но не линкуется. какие варианты? из-за чего вообще может быть такая фигня.


--------------------
PM MAIL WWW ICQ   Вверх
Vaulter
Дата 17.6.2003, 00:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1724
Регистрация: 30.12.2002
Где: бункер

Репутация: 2
Всего: 22



народ, никто не сталкивался?
второй день башку ломаю )


--------------------
PM MAIL WWW ICQ   Вверх
DENNN
Дата 17.6.2003, 10:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

Репутация: 1
Всего: 43



кидай весь код
PM ICQ   Вверх
Baa
Дата 17.6.2003, 10:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2639
Регистрация: 12.4.2002
Где: Москва

Репутация: 8
Всего: 12



А енто все в одном файле реализовано или в нескольких.. у мя было поднобное, решалось как-то просто... токо я уже не помню суть проблемы.


--------------------
"Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande
PM ICQ   Вверх
DENNN
Дата 17.6.2003, 11:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

Репутация: 1
Всего: 43



Возможно надо все касаемое шаблона сунуть в один *.h файл. Потому и прошу его код показать.
PM ICQ   Вверх
Plamenk
Дата 17.6.2003, 19:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 258
Регистрация: 18.2.2003

Репутация: нет
Всего: 3



У меня такое было когда использовал функции из dll, а lib файл забывал подключать.
PM MAIL   Вверх
DENNN
Дата 17.6.2003, 19:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

Репутация: 1
Всего: 43



Здесь похоже другое.
PM ICQ   Вверх
Vaulter
Дата 18.6.2003, 02:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1724
Регистрация: 30.12.2002
Где: бункер

Репутация: 2
Всего: 22



DENNN
какого именно? ))
окей,
Код

// RandomizedsearchTree.h: interface for the RandomizedsearchTree class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#if !defined(AFX_RANDOMIZEDSEARCHTREE_H__51CAE3A2_4489_48F5_9A62_475B2D3C387E__INCLUDED_)
#define AFX_RANDOMIZEDSEARCHTREE_H__51CAE3A2_4489_48F5_9A62_475B2D3C387E__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

template<class T>class RandomizedNode;
template<class T> class RandomizedSearchTree
{
private :
 RandomizedNode<T> *root;       // головной узел
 RandomizedNode<T> *win;        // окно
 int (*cmp) (T,T);              // функция сравнения
 void _remove(RandomizedNode<T>*);
public :
 RandomizedSearchTree (int (*) (T,T) , int = -1);
 ~RandomizedSearchTree(void);
 T next(void);
 T prev(void);
 void inorder(void (*) (T) );
 T val(void);
 bool isFirst(void);
 bool isLast(void);
 bool isHead(void);
 bool isEmpty(void);
 T find (T);
 T findMin(void);
 T locate (T);
 T insert (T);
 void remove (void);
 T remove (T);
 T removeMin (void);
};



#endif // !defined(AFX_RANDOMIZEDSEARCHTREE_H__51CAE3A2_4489_48F5_9A62_475B2D3C387E__INCLUDED_)



--------------------
PM MAIL WWW ICQ   Вверх
DENNN
Дата 18.6.2003, 10:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

Репутация: 1
Всего: 43



А теперь и *.cpp файл. Он ведь вроде у тебя тоже есть? smile.gif
PM ICQ   Вверх
Fantasist
Дата 18.6.2003, 16:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лентяй
***


Профиль
Группа: Участник Клуба
Сообщений: 1517
Регистрация: 24.3.2002

Репутация: 4
Всего: 41



О! Только что заметил - реализация шаблона вынесена в отдельный .cpp файл. Уже сколько раз говорилось о том, что реализация шаблона должна находиться в той же еденице компиляции, где этот шаблон и используется. Для шаблонов нету внешней линковки, ибо шаблон - это не код, который можно откомпилировать, а только прототип его.


--------------------
Волны гасят ветер...
PM MAIL   Вверх
Vaulter
Дата 18.6.2003, 23:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1724
Регистрация: 30.12.2002
Где: бункер

Репутация: 2
Всего: 22



Fantasist
о! мысль! спасибо, попробуем ща
ну если все запашет!!!! с меня пиво


--------------------
PM MAIL WWW ICQ   Вверх
knave
Дата 27.6.2003, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 320
Регистрация: 6.3.2003
Где: Санкт-Питербург ( Россия)

Репутация: 1
Всего: 5



Про шаблоны, все должно быть в одном .h, там же где и объявление


--------------------
С наилучшими пожеланиями !!!
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0559 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.