Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вопрос по подключению DLL в eMbedded C++ 3.0, exe не компелится. 
:(
    Опции темы
A|L|E|X
  Дата 8.8.2003, 09:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Для начала скажу что я новичек в С++.

Попробую описать проблему.

Создаю COM компонент с помощью WCE ATL COMAppWizard'a

Добавляю интерфейс (New ATL Object, Simple Object).

Потом добовляю метод.

Затем создаю ехе с помощью WCE Pocket PC MFC AppWizard.

Добавляю в StdAfx.h строчку

#import "ла-ла.dll"

Компилю exe и получаю ошибку: confused.gif

Код

eleting intermediate files and output files for project 'Tester - Win32 (WCE ARM) Debug'.
--------------------Configuration: Tester - Win32 (WCE ARM) Debug--------------------
Compiling resources...
Compiling...
StdAfx.cpp
путь\имя_файла.tli(16) : error C2065: '[B]_com_issue_errorex' [/B]: undeclared identifier
Error executing clarm.exe.
Creating browse info file...
BSCMAKE: error BK1506 : cannot open file '.\ARMDbg\Tester.sbr': No such file or directory
Error executing bscmake.exe.

Tester.exe - 2 error(s), 0 warning(s)


Кто знает почему он ругается на _com_issue_errorex

Если я не добавляю метод в интерфейс, то все нормально. exclamation.gif

Вот место куда он ругается:

Код

inline HRESULT IAVLMail::SendFile ( struct ssMail * pSend ) {
   HRESULT _hr = raw_SendFile(pSend);
   if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
   return _hr;


Заранее благодарен, Алексей!!!
PM MAIL   Вверх
DENNN
Дата 8.8.2003, 09:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 1
Всего: 43



Посмотри в хелпе, в каком заголовочном файле описывается _com_issue_errorex и подлючи его и lib, если необходимо.
PM ICQ   Вверх
A|L|E|X
Дата 8.8.2003, 09:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



В том то всё и дело, что в справки он вообще не находит _com_issue_errorex, да и в MSDNе нету информации. Я случайно нашел, что эта фигня описывается в файле comdef.h
Причем тот comdef.h, который идет с SDK eMbedded, нет его описания. А в comdef.h, котрый с VC 6.0 и выше есть эта описаловка. Я попробывал добавить в родной файл comdef.h строчку, которая есть в студейном comdef.h, могу даже ее показать:
Код

void __stdcall
_com_issue_errorex(HRESULT, IUnknown*, REFIID) throw(_com_error);


Но тогда он мне при обращении к методам интерфейса ДЛЛьки выдает такую чушь что..., вот она

Код

Linking...
TesterDlg.obj : error LNK2019: unresolved external symbol "void __cdecl _com_issue_error(long)" (?_com_issue_error@@YAXJ@Z) referenced in function "public: __cdecl _com_ptr_t<class _com_IIID<struct CAVLMAILCOMLib::IAVLMail,&struct __s_GUID _GUID_c06
ccaf4_1e35_4ea9_9db7_08e50feeb0c5> >::_com_ptr_t<class _com_IIID<struct CAVLMAILCOMLib::IAVLMail,&struct __s_GUID _GUID_c06ccaf4_1e35_4ea9_9db7_08e50feeb0c5> >(struct _GUID const &,struct IUnknown *,unsigned long)" (??0?$_com_ptr_t@V?$_com_IIID@UIAV
LMail@CAVLMAILCOMLib@@$1?_GUID_c06ccaf4_1e35_4ea9_9db7_08e50feeb0c5@@3U__s_GUID@@A@@@@QAA@ABU_GUID@@PAUIUnknown@@K@Z)
ARMDbg/Tester.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
Creating browse info file...

Tester.exe - 2 error(s), 1 warning(s)


Вообщем ерунда какая-то.
PM MAIL   Вверх
DENNN
Дата 8.8.2003, 10:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 1
Всего: 43



Никакой ерунды. Ты определение функции вставил:
Код
void __stdcall
_com_issue_errorex(HRESULT, IUnknown*, REFIID) throw(_com_error);

А где ее реализация? Необходимо *.lib-файл подключить или как то иначе дать понять компилятору где же хранится код этой функции
PM ICQ   Вверх
A|L|E|X
Дата 8.8.2003, 11:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Пардон, а где я возьму ее реализацию?? Или как дать понять компилятору?? Я все-таки новичок!!!
Заранее спасибо!

p.s. А вообще насколько хорошо изменять исходные библиотекиconfused.gif
PM MAIL   Вверх
DENNN
Дата 8.8.2003, 11:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 1
Всего: 43



Цитата
p.s. А вообще насколько хорошо изменять исходные библиотеки

Изменять стандартные файлы, не следует.
Цитата
Пардон, а где я возьму ее реализацию?? Или как дать понять компилятору??

А где ты узнал про эту функцию? Не из головы же? В документации и будет указано, в какой длл лежит эта функция.
PM ICQ   Вверх
A|L|E|X
Дата 8.8.2003, 13:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата
Изменять стандартные файлы, не следует.

Значит я иду по неправильному пути??
Первоначально-то не было этой строчке в файле comdef.h

Цитата
А где ты узнал про эту функцию? Не из головы же? В документации и будет указано, в какой длл лежит эта функция.

Не могу найти confused.gif
PM MAIL   Вверх
DENNN
Дата 8.8.2003, 14:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 1
Всего: 43



Цитата
Значит я иду по неправильному пути??
Первоначально-то не было этой строчке в файле comdef.h

Для тебя стандартные файлы должны быть как священные манускрипты smile.gif

Цитата
Не могу найти

Тогда закомментируй пока эту строку - повидимому в этой функции сейчас нет необходимости.
PM ICQ   Вверх
A|L|E|X
Дата 8.8.2003, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



В том то и дело, что у меня встала работа.
У меня есть сом компонент на студии, я его перенес на eMbeeded, теперь мне нужен пользовательский интерфейс для проверки работы компонента. а не получается...
Даже не знаю чего и делать. Что самое ужасное, это сроки выполнения...3 дня.

PM MAIL   Вверх
A|L|E|X
Дата 10.8.2003, 11:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Кому будет интересно есть решение данной проблемы.

Описано здесь

Вот еще один способ

ЗЫ: DENNN спасибо большое за оказанное внимание и помощь!!! adv/72.gif
PM MAIL   Вверх
DENNN
Дата 11.8.2003, 09:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 1
Всего: 43



Понятно, оказалось, что причина в PosketPC smile.gif
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




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


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

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