Главная страница
    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.46 MB
Время: 0.043 c
15-1216894108
Кактус
2008-07-24 14:08
2008.09.14
SQL


2-1217707537
programmer90
2008-08-03 00:05
2008.09.14
Делфи 2007+Инет+МС Офис


15-1216664244
ob_kun
2008-07-21 22:17
2008.09.14
Интересно


15-1216793329
Jeer
2008-07-23 10:08
2008.09.14
Linux Festival


15-1216788509
vajo
2008-07-23 08:48
2008.09.14
Что может быть с компьютером?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский