Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.09.14;
Скачать: CL | DM;

Вниз

Как исправить ошибки линковки? (С++)   Найти похожие ветки 

 
@!!ex ©   (2008-07-26 09:59) [0]

Есть проект для VC++6.0
Переношу его на VC++2008

Вываливается куча ошибок линковки вида
1>actor.obj : error LNK2019: unresolved external symbol "int __cdecl operator==(class SafePtr<class Behavior>,class Behavior *)" (??8@YAHV?$SafePtr@VBehavior@@@@PAVBehavior@@@Z) referenced in function "public: int __thiscall Actor::checkbehaviordone(class Conditional &)" (?checkbehaviordone@Actor@@QAEHAAVConditional@@@Z)

Я думаю это связано с приведением типов. Видимо в 2008 оно более жесткое.
Вопрос в том, как найти место в коде, из-за которого возникает ошибка?
Руками искать не реально... МОдули под 1000 строк каждый и их много...


 
DrPass ©   (2008-07-26 11:18) [1]

Нет там никакого приведения типов. Написано ж "неопределенный внешний символ". Т.е. скорее всего, ты используешь какую-то функцию/класс, который определен во внешней статической библиотеке, которую ты забыл добавить в проект


 
@!!ex ©   (2008-07-26 14:03) [2]

Скорее всего я ничего не использую, т.к. под 6.0 все собирается...


 
palva ©   (2008-07-26 14:24) [3]

А перекомпиляция объектников у вас происходит? За этим проследили?


 
Alkid   (2008-07-26 16:47) [4]

Вот это:

"referenced in function "public: int __thiscall Actor::checkbehaviordone(class Conditional &)"

Функция int __thiscall Actor::checkbehaviordone(class Conditional &) использует оператор int __cdecl operator==(class SafePtr<class Behavior>,class Behavior *). Эта функция написана тобой? Посмотри, где у тебя там подобное сравнение может быть.


 
@!!ex ©   (2008-07-26 17:15) [5]

Вод вообще не мой.
Сорсы Star Trek: Elite Force2

Указанная функция вполне себе успешно существует в cpp файле:
qboolean Actor::checkbehaviordone( Conditional &condition )
{
return ( behavior == NULL );
}


 
wicked ©   (2008-07-26 17:21) [6]

как же ж тяжело, а?

> Указанная функция вполне себе успешно существует в cpp файле:
>
> qboolean Actor::checkbehaviordone( Conditional &condition
> )
> {
> return ( behavior == NULL );
> }

а оператор int __cdecl operator==(class SafePtr<class Behavior>,class Behavior *) хде обьявлен?

точнее, подозреваю, что нужно смотреть на обьявления классов SafePtr<> и Behavior


 
tesseract ©   (2008-07-26 17:21) [7]


> Скорее всего я ничего не использую, т.к. под 6.0 все собирает


А ты думал заголовки от версии не зависят ? Бывает такое. Устаравшие функции гасят, дабы неповадно было старые версии покупать. 6-я студия у меня такое на windows.h часто выдавала. Т.Е придеться таки перерабатывать проект.



Страницы: 1 вся ветка

Текущий архив: 2008.09.14;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.02 c
15-1216094479
123-ий
2008-07-15 08:01
2008.09.14
Шлюз Интернета


4-1196335647
serg128
2007-11-29 14:27
2008.09.14
как поределить, что процесс завис?


15-1216941163
wl
2008-07-25 03:12
2008.09.14
Лолита. Набоков, Кубрик и д.р.


11-1193513916
Сергей
2007-10-27 23:38
2008.09.14
Проблема с графикой в KOL


15-1216304096
Nous Mellon_
2008-07-17 18:14
2008.09.14
Вопрос по пхп. Снова