Главная страница
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
9-1165756032
darkangel
2006-12-10 16:07
2008.09.14
3д мир и клики мышью. (OpenGL)


2-1217779974
minim
2008-08-03 20:12
2008.09.14
Ширина Label


15-1216058157
{RASkov}
2008-07-14 21:55
2008.09.14
Брак ли?


2-1217456314
Dars73
2008-07-31 02:18
2008.09.14
Неполучается создать таблицу


11-1192822029
Вячеслав
2007-10-19 23:27
2008.09.14
Высоту списка в ComboBox?