Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.016 c
15-1216644223
oldman
2008-07-21 16:43
2008.09.14
Банковский кредитный кризис (как будто опрос)


3-1205998904
denmin
2008-03-20 10:41
2008.09.14
Не постятся данные в PostgreSQL.


2-1217753286
fokas
2008-08-03 12:48
2008.09.14
аналог TreeView без скролов + ScrollBar


2-1217926238
demon
2008-08-05 12:50
2008.09.14
Как узнать размеры окна через API?


15-1216979977
Jolik
2008-07-25 13:59
2008.09.14
Есть работа...




   Наверх