Неразрешенные внешние символы в проекте C ++

0

Это моя ситуация (я очень новичок в C++ MFC-кодировании, и я пытаюсь отладить существующий проект приложения)

Я использую эту строку в своем коде (в проекте MFC Visual Studio 2012)

CoCreateInstance (CLSID_PortableDeviceValues, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS (& x));

Пока я запускаю проект, я получаю ошибку компоновщика, подобную этой

ошибка LNK2001: неразрешенный внешний символ _CLSID_PortableDeviceValues

Это происходит для всех значений CLSID, которые я имею в виду в коде. Как это

ошибка LNK2001: неразрешенный внешний символ _CLSID_PortableDeviceKeyCollection

ошибка LNK2001: неразрешенный внешний символ _IID_IPortableDeviceEventCallback

ошибка LNK2001: неразрешенный внешний символ _CLSID_PortableDeviceManager

ошибка LNK2001: неразрешенный внешний символ _CLSID_PortableDeviceServiceFTM

Я проверил объявление "CLSID_PortableDeviceValues", и он был найден в "PortableDeviceTypes.h", и я также импортировал эту библиотеку.

Я не получаю ошибки компилятора, но сталкиваюсь с ошибками компоновщика, упомянутыми выше.

Может кто-то, пожалуйста, помогите мне здесь. Я не мог этого разрешить.

  • 1
    Какую библиотеку вы импортировали? PortableDeviceGUIDs.lib ?
  • 0
    Я просто импортировал PortableDeviceTypes.h в коде ..
Показать ещё 1 комментарий
Теги:
visual-studio
linker-errors
unresolved-external
clsid

1 ответ

3
Лучший ответ

Вам нужно будет добавить PortableDeviceGUIDs.lib в свой проект.
(Посмотрите раздел "Требования" в документации MSDN для IPortableDeviceValues)

Когда компоновщик создает ваш проект, он ищет данные реализации, которые находятся за идентификатором CLSID_PortableDeviceValues. Эти данные находятся в библиотеке PortableDeviceGUIDs.lib, и компоновщику должно быть предложено использовать эту библиотеку.

Файл заголовка, который вы включили в исходный код, объявляет только символ "CLSID_PortableDeviceValues", не импортируя его реализацию.

  • 0
    Спасибо! Я пытался заставить WpdApiSample работать с VS2010, и он показывал подобные ошибки при компиляции. Проект был обновлен и не имеет правильной конфигурации. Кстати, я очень новичок в C ++.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню