LNK2019 XAudio2Create - 未解析的符号

时间:2013-04-11 14:05:34

标签: c++ com xaudio2

我正在尝试与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 - 对象,但我得LNK2019 - unresolved external symbol "__imp__XAudio2Create@12"

Here是文档。

感谢您的任何提示。

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

晚会晚了,但是我通过遵循Windows示例here并确保我的加入像这样来工作:

#include <xaudio2.h>
#pragma comment(lib,"xaudio2.lib")