Поиск:

Ответ в темуСоздание новой темы Создание опроса
> LNK2019 (??...@@QAE@XZ), Что значит эта абракадабра? 
:(
    Опции темы
Гость_Vladimir
Дата 28.6.2005, 12:02 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Доброе время суток, уважаемые господа программеры!

Будучи полным профаном в MFC (работал только с Delphi), мне попала в руки программа управления неким контроллером через USB (вирт COM) написанная на MFC6 c Ultimate Toolbox.
Пытаюсь откомпилировать ее на MFC7, библиотечные файлы Ultimate Toolbox скопировал к себе. В итоге до линкования все проходит нормально, лишь с предупреждением:
C4996 'CWinApp::Enable3dControls was declared deprecated'.
А потом куча ошибок с кодом LNK2019 и текстом наподобие:
unresolved external symbol "public: _thiscall COXNumericEdit::COXNumericEdit(void)"
(??COXNumericEdit@@QAE@XZ)

Программу нужно раз откомпилировать и потом пользоваться только exe-шником.
Подскажите пожалуйста, как решить эту проблему!!!
  Вверх
En_t_end
Дата 28.6.2005, 13:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2074
Регистрация: 4.12.2004

Репутация: 2
Всего: 20



Хм... недостаточно просто скопировать файлы компонента в директорию... надо ещё их подключить. Раз в коде нет ошибок по мнению компилятора, значит ты уже подключил h-ы. Осталось теперь подключить lib. ИМХО.
К тому же проблема может быть и из-за четкой ориентации компонента... попробуй скачать новую версию его на оффициальном сайте.
PM MAIL ICQ Skype GTalk Jabber   Вверх
Гость_Vladimir
Дата 28.6.2005, 13:34 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Скачать новую версию мягко говоря затруднительно, поскольку Ultimate Toolbox в рунете не валяется, а стоит недешево.
А по поводу lib, я действительно просто перекинул их в папку Microsoft Visual Studio .NET\Vc7\lib.
Извиняюсь за совсем уж ламерский вопрос, а как правильно нужно было сделать?
  Вверх
En_t_end
Дата 28.6.2005, 13:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2074
Регистрация: 4.12.2004

Репутация: 2
Всего: 20



Ну теперь подключай их так #pragma comment(lib, "<NameWithoutLib>")

PM MAIL ICQ Skype GTalk Jabber   Вверх
Гость_Vladimir
Дата 28.6.2005, 13:59 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Подключил две библиотеки и теперь при линковании MFC ругается на то, что крокозябры уже определены в этих библиотеках, но это не смертельно.
Смертельно то, что в самом конце он стал требовать файл mfc71d.lib, которого я нигде не наблюдаю, и у меня такое чувство, что его и быть-то не должно.
Может быть можно попробовать сделать что-нить еще?
  Вверх
En_t_end
Дата 28.6.2005, 15:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2074
Регистрация: 4.12.2004

Репутация: 2
Всего: 20



Хм... у тебя студия .NET 2003 ?
Добавлено @ 15:11
Странно, потому что у меня он имеется....
Но вероятно проблема не в этом, надо искать корень, так как сейчас ты уже наблюдаешь каскадные ошибки.
Добавлено @ 15:14
Куда куда ты засунул lib'ы компонента для MFC ? smile
Для этого есть вобще-то специальная директория...
Vc7\atlmfc\lib\
PM MAIL ICQ Skype GTalk Jabber   Вверх
Гость_Vladimir
Дата 28.6.2005, 15:23 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Неуверен, но вроде 2002.
Сейчас пробую связаться с разработчиком, может там узнаю в чем дело.
В любом случае, огромное спасибо за советы!!!
  Вверх
Гость_Vladimir
Дата 28.6.2005, 15:32 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Скопировал их Vc7\atlmfc\lib\ но от этого лучше не стало
  Вверх
JoyEx
Дата 28.6.2005, 17:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дядя
**


Профиль
Группа: Участник
Сообщений: 323
Регистрация: 21.6.2005
Где: Москва, РФ

Репутация: 5
Всего: 12



А в General св-вах проекта выставлено ли Use of MFC = USE MFC in a XXXXX ?


--------------------
Если ты уже никого не боишься, значит ты самый страшный 
PM IM ICQ AOL YIM MSN   Вверх
Гость_Vladimir
Дата 28.6.2005, 18:21 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Подозреваю, что не выставлено, поскольку не знаю где это выставляется.
Можно немножко поподробнее?
  Вверх
Любитель
Дата 28.6.2005, 21:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 7
Всего: 92



Project => Properties => General => Use of MFC => Use MFC in a shared dll или ... in a static library. В первом случае экзешка будет меньше, но нужну для работы программы длл-ки МФС.


--------------------
PM MAIL ICQ Skype   Вверх
Гость_Vladimir
Дата 29.6.2005, 15:41 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Попробовал откомпилировать и со static, и с shared library все равно появляются ошибки.
Связался с программистом, выяснилось что он писал проект в VC++7.1, а я пытаюсь откомпилировать в VC++7.
Похоже проблема в этом, а там кто его знает.
  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.1909 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.