0

我正在尝试与 DirectX SDK 取得联系。我设法安装它,创建了一个新的Win32 Console Project并添加了以下行

#include <iostream>
#include <xaudio2.h>

int main(int argc, char *argv[]){
IXAudio2* pXAudio = 0;
IXAudio2MasteringVoice *pXAudioMasterVoice = 0;
HRESULT hr;

CoInitializeEx(NULL, COINIT_MULTITHREADED);

hr = XAudio2Create(&pXAudio, 0, XAUDIO2_DEFAULT_PROCESSOR);
if(FAILED(hr)){
    CoUninitialize();
    return hr;
}

hr = pXAudio->CreateMasteringVoice(&pXAudioMasterVoice);
if(FAILED(hr)){
    pXAudio->Release();
    CoUninitialize();
    return hr;
}

CoUninitialize();
std::cout << "Done!" << std::endl;
}

文档说,没有xaudio2.lib链接到,但它是一个COM-object,但我明白了LNK2019 - unresolved external symbol "__imp__XAudio2Create@12"

是文档。

谢谢你的任何提示。

4

2 回答 2

0

XAudio2Create不是 COM,它是标准的 DLL 导出,因此您需要与 Xaudio2.lib 链接。该库在%Program Files%\Windows Kits\8.0\Lib\win8\um(随 Windows 8 SDK 一起安装)中可用。

于 2013-04-11T20:33:13.917 回答
0

派对迟到了,但我通过遵循此处的 Windows 示例并确保我的包含如下所示:

#include <xaudio2.h>
#pragma comment(lib,"xaudio2.lib")
于 2018-08-17T19:13:14.853 回答