Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

HidD_GetHidGuid

16K
12 сентября 2006 года
Rize
16 / / 05.09.2006
Здравствуйте!

Впервые работаю с USB устройствами. Прочитал книгу Агурова.
Так вот беру из книги пример и перевожу с Delphi на C++ Builder.

{
...
TGUID HidGuid;

HidD_GetHidGuid(&HidGuid);
...
}

HidD_GetHidGuid определена в hidsdi.h, соответственно подключаю его в #include.

Выдает такое сообщение при компиляции

[Linker Error] Unresolved external '__stdcall HidD_GetHidGuid(_GUID *)' referenced from I:\WORK\TMP\GET_HID.OBJ

Подскажите пожалуйста где примерно искать корень ошибки.
398
13 сентября 2006 года
Alexandoros
630 / / 21.10.2005
либу подрубить надо. А какую - хз, в мсдн не написано :)
406
13 сентября 2006 года
vitaly2003s
481 / / 27.07.2004
Поключи hid.lib,или импортируй функцию из hid.dll напрямую через GetProcAdress
16K
19 сентября 2006 года
Rize
16 / / 05.09.2006
Ох, нелёгкая это работа из болота...

Спасибо за советы, начал копаться и получается, что hud.lib у меня имеется только для Visual Studio. Сейчас пробую переконвертить или найти работоспособную.
Может кто-нибудь подтолкнуть к месту поиска?
20K
27 сентября 2006 года
Ur4ik
5 / / 27.09.2006
Esli rewil problebu - podelis'. U menia toje samoe...
246
27 сентября 2006 года
GIZMO
1.8K / / 30.07.2004
[QUOTE=Rize]Ох, нелёгкая это работа из болота...

Спасибо за советы, начал копаться и получается, что hud.lib у меня имеется только для Visual Studio. Сейчас пробую переконвертить или найти работоспособную.
Может кто-нибудь подтолкнуть к месту поиска?[/QUOTE]
F1->Index->"Coff2Omf"->Ok
20K
27 сентября 2006 года
Ur4ik
5 / / 27.09.2006
Gde mojno ska4at' COFF2OMF.EXE u menia ego netu v examples?
16K
03 октября 2006 года
Rize
16 / / 05.09.2006
Что-то, где-то, как-то...
Получается следущее:
Прочитав статейку вот из этой темы http://borland.xportal.ru/forum/viewtopic.php?t=17845&highlight=%E8%F1%EF%EE%EB%FC%E7%EE%E2%E0%ED%E8%E5+%E1%E8%E1%EB%E8%EE%F2%E5%EA создал .lib файлы - т.е. TDUMP показал, что мол такие функции в нем определены, IMPLIB создал .lib. Для верности создал .lib и с Hid.dll и c Setupapi.dll всё это присоединил к проекту. Всё, компилится(если не использовать функцию HidD_GetHidGuid(&HidGuid)) НО, как только мы вызываем её:
[Linker Error] Unresolved external '__stdcall HidD_GetHidGuid(_GUID *)' referenced from I:\WORK\TMP\4\UNIT1.OBJ
опять то же самое, начал крутить вертеть и нашел следущее:
если вызывать так - HidD_GetHidGuid(HidGuid) то выдает следущее:
[C++ Error] Unit1.cpp(22): E2034 Cannot convert '_GUID' to '_GUID *'
[C++ Error] Unit1.cpp(22): E2342 Type mismatch in parameter 'HidGuid' (wanted '_GUID *', got '_GUID')
т.е., получается, вроде как эти функции Builder видит из этой библиотеки, ну т.е. он видит что идёт вызов несоответствующий объявленному в .dll
Подскажите как же такое может быть - видеть, видит, но при вызове ломается?
16K
03 октября 2006 года
Rize
16 / / 05.09.2006
2 Ur4ik:
http://slil.ru/23202598 - COFF2OMF.EXE

P.S.
А почему в Examples? В папке CBuilder6/Bin лежит COFF2OMF.EXE
22K
08 октября 2006 года
Andr_v_v
2 / / 07.10.2006
Вобщем наблюдается и у меня похожая лабуда:) только у меня сразу при попытке подключить HID.DLL( Либо с помощью include, или импортировать файл c с помощью Builder 6 с++) возникает куча ошибок.
Такое впечатление что Builder 6 с++ не понимает етой dll ки, даже не может импортировать.
Что делать??? Может кто знает....
22K
08 октября 2006 года
Andr_v_v
2 / / 07.10.2006
Саму длл-ку я взял из папки Винды....
16K
09 октября 2006 года
Rize
16 / / 05.09.2006
Так, ну что ж, наши победили, но не с разгромным счетом.

Постоянная загрузка одной задачей принесла свои результаты - заработало!

По порядку:

- Необходимо программой IMPLIB.EXE создать .lib файлы, необходимые Borland'у. Внимание: здесь долго пытались понять почему вылетают различные шибки - пишите полные пути к файлам. Пример:

C:\IMPLIB.EXE I:\work\tmp\4\hid.lib I:\work\tmp\4\hid.dll

Аналогично бились и с TDUMP.EXE, полные пути помогли.

- Добавляем полученные .lib файлы в наш проект: Project->Add To Project...

- В .h файле нашего проекта добаляем заголовочные файлы через директиву extern:

extern "C"{
#include "setupapi.h"
#include "hidsdi.h"
}

И наслаждаемся!

Но HidD_GetHidGuid и остальные функции работают, КРОМЕ HidD_Hello, вот тут тоже встали, ну ничего, и это сломаем...
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог