2

Visual Studio 2010 を使用しており、次のヘッダーが含まれています。

#include <Audioclient.h>
#include <mmdeviceapi.h>

とりわけ、これらの関数を参照します。

CoCreateInstance
IMMDeviceEnumerator::GetDefaultAudioEndpoint
IMMDevice::Activate

winmm.lib をリンクしましたが、次のようなエラーが発生します。

Error   8   error LNK2001: unresolved external symbol _IID_IMMDeviceEnumerator  C:\XXXX\XXXX\XXXX.obj   XXXX

これらの機能を利用するには、どの .lib ファイルをリンクする必要がありますか? VS 2010 で .h ファイルに関連付けられた .lib を見つける方法に関するガイダンスはありますか?

MSDN のサンプル コードを見ていますが、どのライブラリをリンクする必要があるかわかりません。

4

1 に答える 1

5

クリスから。私はこれからコードを変更しました:

hr = CoCreateInstance(
    CLSID_MMDeviceEnumerator, NULL,
    CLSCTX_ALL, IID_IMMDeviceEnumerator,
    (void**)&pEnumerator);

これに:

hr = CoCreateInstance(
         __uuidof(MMDeviceEnumerator), NULL,
         CLSCTX_INPROC_SERVER,
         __uuidof(IMMDeviceEnumerator),
         (void**)&pEnumerator);

リンクするようになりました!

于 2012-10-11T17:01:20.320 に答える