Ошибки компоновщика VC 6

#c #linker #visual-c -6

#c #компоновщик #visual-c -6

Вопрос:

По сути, происходит следующее: у меня есть рабочее пространство VC6 (содержит всего 3 проекта), и после того, как я НЕ смог успешно перенести его в VS2010, я установил XP на виртуальную машину (Win 7 на хост-компьютере) и установил VS6 на devbox.

Оттуда я смог обойти ошибки компиляции и первым делом наткнулся на целый ряд ошибок компоновщика…

и я понятия не имею, что не так. Если бы кто-нибудь мог мне помочь с этим, я был бы чрезвычайно признателен!

(выдержка из журнала сборки, всего ошибок компоновщика 41 …)

 >Linking...
MainFrm.obj : error LNK2001: unresolved external symbol "public: virtual __thiscall ReportMenuBuilder::~ReportMenuBuilder(void)" (??1ReportMenuBuilder@@UAE@XZ)
MainFrm.obj : error LNK2001: unresolved external symbol "public: __thiscall ReportMenuBuilder::ReportMenuBuilder(void)" (??0ReportMenuBuilder@@QAE@XZ)
MainFrm.obj : error LNK2001: unresolved external symbol "public: bool __thiscall ReportMenuBuilder::Build(bool)" (?Build@ReportMenuBuilder@@QAE_N_N@Z)
MainFrm.obj : error LNK2001: unresolved external symbol "public: int __thiscall CReportMultiDocTemplate::GetDocumentCount(void)const " (?GetDocumentCount@CReportMultiDocTemplate@@QBEHXZ)
MainFrm.obj : error LNK2001: unresolved external symbol "public: class CString __thiscall ReportMenuBuilder::GetFilespecGivenID(unsigned int)const " (?GetFilespecGivenID@ReportMenuBuilder@@QBE?AVCString@@I@Z)
  

Единственное, о чем я могу думать, это то, что, по-видимому, у проектов возникают проблемы с просмотром необходимых файлов из других проектов, но я не знаю почему.

Комментарии:

1. Первый вопрос — построен ли он на реальной коробке XP?

2. Может ли это быть частью Crystal Reports? Вы это установили?

3. Это код многолетней давности, и это рабочий продукт, поэтому я бы предположил, что он основан на реальной коробке XP.

4. @kogh Я не понимаю, почему вы так предполагаете.

5. Виртуальная машина (ИМХО) вряд ли будет проблемой. Скорее всего, это отсутствующая библиотека или, возможно, библиотека, скомпилированная с другой версией компилятора. Что-то, что содержит код «ReportMenuBuilder». У вас правильно настроены старые сценарии сборки и среда? Переменные среды, библиотеки зависимостей или SDK, что-то в этомроде.

Ответ №1:

Моим первым предположением было бы, что вы не добавили .файл библиотеки для дополнительного импорта из других проектов. Если у вас есть dumpbin, удалите двоичные файлы и посмотрите, видите ли вы экспорт.