简体   繁体   English

LNK2019 XAudio2Create-无法解析的符号

[英]LNK2019 XAudio2Create - unresolved symbol

I am trying to get in touch with the DirectX SDK. 我正在尝试与DirectX SDK联系。 I managed to install it, created a new Win32 Console Project and added following lines 我设法安装了它,创建了一个新的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;
}

The documentation says, that there is no xaudio2.lib to link to, but it is a COM -object, but I get LNK2019 - unresolved external symbol "__imp__XAudio2Create@12" 该文档说,没有xaudio2.lib可以链接到,但是它是一个COM ,但是我得到了LNK2019 - unresolved external symbol "__imp__XAudio2Create@12"

Here is the documentation. 是文档。

Thank you for any hints. 谢谢您的提示。

XAudio2Create is not COM, it's a standard DLL export, so you do need to link with Xaudio2.lib. XAudio2Create不是COM,它是标准的DLL导出,因此您需要与Xaudio2.lib链接。 This library is available in %Program Files%\\Windows Kits\\8.0\\Lib\\win8\\um\u003c/code> (installed with the Windows 8 SDK). 该库位于%Program Files%\\Windows Kits\\8.0\\Lib\\win8\\um\u003c/code> (与Windows 8 SDK一起安装)中。

super late to the party, but I got this to work by following the windows examples here and ensuring my includes like this: 超级迟到了,但我得到这个由下面的窗口实例的工作在这里 ,并确保我会有这样的:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM