我创建了一个CLR类库,我想要做一些WASAPI Core Audio处理。终于开始添加COM的东西了,我把它全部剥离到了这一点:
bool AudioLibrary::AudioClass::initializeAudioDevices()
{
HRESULT hr = CoInitializeEx(NULL, COINIT_MULTITHREADED);
if (FAILED(hr))
{
// Big problem
return hr;
}
}
这是非常基本的,编译得很好(我的命名空间显然是AudioLibrary,类是AudioClass)。但是,在链接期间,我得到了这个:
Error 9 error LNK2028: unresolved token (0A000029) "extern "C" long __stdcall CoInitializeEx(void *,unsigned long)" (?CoInitializeEx@@$$J18YGJPAXK@Z) referenced in function "private: bool __clrcall AudioLibrary::AudioClass::initializeAudioDevices(void)" (?initializeAudioDevices@AudioClass@AudioLibrary@@$$FA$AAM_NXZ) C:\Users\Administrator\Documents\Visual Studio Projects\WindowsFormsApplication1\AudioLibrary\AudioLibrary.obj AudioLibrary
我已经包含了Windows.h和objbase.h,但我显然缺少某种类型的链接引用。我已经尝试过从父母那里继承下来的父母'并且在项目的链接选项中没有继承。
最近做了太多的IOS / Android / OSX编程,所以我在Visual Studio的东西上显然很陈旧。我缺少什么包括CoInitializeEx?我正在使用Visual Studio 2013 Ultimate。谢谢!