Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Ада и другие языки _ Unresolved external

Автор: Fanat 28.10.2007 17:16

Unresolved external Имя Функции Путь к .obj файлу проекта.
Что означает это ошибка и как с ней бороться?

Автор: volvo 28.10.2007 17:33

Цитата
Что означает это ошибка
То, что ты где-то прототип функции/метод класса описал, но его реализации линкер не нашел...

Автор: Fanat 28.10.2007 18:05

Цитата(volvo @ 28.10.2007 13:33) *

То, что ты где-то прототип функции/метод класса описал, но его реализации линкер не нашел...


Прототипы описаны в файле 1.h
Я добавил файл 1.cpp в проект и всё заработало.
Но обычно просто писал include"1.h". И писал путь где находиться эти файлы.
Может это из-за того что у меня несколько фалов с именем 1.h. ???
Кстати, если указываем в Directories->IncludePath папку то линкер ищет во вложенных папках?

Автор: volvo 28.10.2007 18:22

Цитата(Fanat) *
Может это из-за того что у меня несколько фалов с именем 1.h. ???
Не думаю... Описывать прототипы для одной функции ты можешь многократно. А вообще, надо предотвращать многократное включение хидера в проект:

#ifndef __1_H__
#define __1_H__

// здесь твои определения

#endif



Цитата(Fanat @ 28.10.2007 13:05) *
Кстати, если указываем в Directories->IncludePath папку то линкер ищет во вложенных папках?

Начнем с того, что линкер вообще ничего в Include Directories не ищет... Это не его проблемы. Он работает с уже откомпилированными OBJ (ну и другими) файлами, и собирает их в одно целое, для этого хидеры не нужны...

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

Автор: Fanat 28.10.2007 19:41

Спасибо... smile.gif