Russian Qt Forum

Программирование => С/C++ => Тема начата: puh от Декабрь 03, 2009, 18:07



Название: запара с hid.dll
Отправлено: puh от Декабрь 03, 2009, 18:07
Есть креатор Qt 4.5.2.
Есть либа hid.dll.
Код такой:
Код:
#include <QtCore>

#include <windows.h>
#include <wtypes.h>
#include <initguid.h>

extern "C"
{
 #include "hidsdi.h"
 #include <setupapi.h>
 #include <dbt.h>
}

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    GUID hidguid;

    HidD_GetHidGuid(&hidguid);

    ....

    return a.exec();
}

Код файла .pro:
Код:
...
LIBS += hid.dll
...

Ошибка следующая:
Код:
.../main.cpp:20: undefined reference to `_imp__HidD_GetHidGuid@4'

Думаю, что линкер не видит либу...или что????

Я только учусь :)


Название: Re: запара с hid.dll
Отправлено: niXman от Декабрь 03, 2009, 18:20
Цитировать
LIBS += hid.dll
этого делать не нужно. т.к. только статические библиотеки линкуются.
Нужна статическая библиотека с расширением .a или .lib


Название: Re: запара с hid.dll
Отправлено: puh от Декабрь 03, 2009, 18:32
Ясно.
А из виндуйской hid.dll можно сделать .lib, чтобы ее понимал mingw?
Если да, то ПЛЗ как?


Название: Re: запара с hid.dll
Отправлено: niXman от Декабрь 03, 2009, 18:55
Цитировать
А из виндуйской hid.dll можно сделать .lib, чтобы ее понимал mingw?
хз*.

Если есть к ней .h файл, можно динамически подгружать.
http://qt.nokia.com/doc/4.6-snapshot/qlibrary.html


Название: Re: запара с hid.dll
Отправлено: puh от Декабрь 03, 2009, 19:04
Да, вроде как файл "hidsdi.h" содержит описания функций из hid.dll.

Так что спасибо за совет.


Название: Re: запара с hid.dll
Отправлено: puh от Декабрь 03, 2009, 19:06
еще нашел libhid.a, с которым все компилится.
НО насколько все правильно при этом работает,, это я узнаю скоро.


Название: Re: запара с hid.dll
Отправлено: lit-uriy от Декабрь 03, 2009, 19:10
>>еще нашел libhid.a
Для MinGW и нужны файлы с расширением *.а, файлы *.lib для визуалстудио


Название: Re: запара с hid.dll
Отправлено: G-virus от Февраль 23, 2010, 12:22
Код:
...
LIBS += hid.dll
...

Попроьуйте сделать так LIBS += -lhid


Название: Re: запара с hid.dll
Отправлено: Alex Custov от Февраль 24, 2010, 10:53
Цитировать
LIBS += hid.dll
этого делать не нужно. т.к. только статические библиотеки линкуются.

А динамические библиотеки не линкуются? :)


Название: Re: запара с hid.dll
Отправлено: Alex Custov от Февраль 24, 2010, 10:57
Цитировать
А из виндуйской hid.dll можно сделать .lib, чтобы ее понимал mingw?
хз*.

Если есть к ней .h файл, можно динамически подгружать.
http://qt.nokia.com/doc/4.6-snapshot/qlibrary.html

А если нет, то нельзя? :)


Название: Re: запара с hid.dll
Отправлено: G-virus от Февраль 24, 2010, 11:52
Подключите как я сказал. должно сработать  :)