Устранение ошибок компоновщика hid.lib "неразрешенный внешний символ" в VC ++ - PullRequest
5 голосов
/ 30 сентября 2011

Как видно из названия, у меня следующая ошибка компоновщика:

ошибка LNK2019: неразрешенный внешний символ "unsigned char __stdcall HidD_GetAttributes (void *, struct _HIDD_ATTRIBUTES *) " (? HidD_GetAttributes @@ YGEPAXPAU_HIDD_ATTRIBUTES @@@ Z) * ​​1004 *

при звонке result = HidD_GetAttributes(WriteHandle, &attributes) в моем коде.

Эта функция должна существовать в "hid.lib", который я добавил в свои зависимости компоновщика для проекта. Я также включил заголовочный файл "hidsdi.h", в котором есть прототип функции для HidD_GetAttributes.

Единственное, что мне показалось проблематичным, это то, что прототипы функций для "hid.lib" разделены между тремя разными заголовками: hidsdi.h, hidpi.h и hidsage.h.

Есть предложения?

1 Ответ

9 голосов
/ 06 октября 2011

только что решил проблему.Очевидно, "hid.lib" был написан на C, что привело к некоторому искажению имени.Использование

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

прояснило все.

...