#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, удалите двоичные файлы и посмотрите, видите ли вы экспорт.