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

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

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

CoCreateInstance (CLSID_PortableDeviceValues, NULL,
CLSCTX_INPROC_SERVER, IID_PPV_ARGS (&Икс));

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

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

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

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

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

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

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

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

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

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

0

Решение

Вам нужно будет добавить PortableDeviceGUIDs.lib к вашему проекту.

(Посмотрите раздел «Требования» в Документация MSDN для IPortableDeviceValues)

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

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

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]