请查看以下代码。
#define _ATL_APARTMENT_THREADED
#include <atlbase.h>
//You may derive a class from CComModule and use it if you want to override something,
//but do not change the name of _Module
extern CComModule _Module;
#include <atlcom.h>
#include <sapi.h>
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
cout << "Hello" << endl;
ISpVoice * pVoice = NULL;
if (FAILED(::CoInitialize(NULL)))
return FALSE;
HRESULT hr = CoCreateInstance(CLSID_SpVoice, NULL, CLSCTX_ALL, IID_ISpVoice, (void **)&pVoice);
if( SUCCEEDED( hr ) )
{
cout << "Succeeded" << endl;
hr = pVoice->Speak(L"Hello world", 0, NULL);
pVoice->Release();
pVoice = NULL;
}
else
{
cout << "Not succeeded" << endl;
}
::CoUninitialize();
return TRUE;
}
我正在使用QT。当我运行这段代码时,出现了错误:
无法打开包含文件“atlbase.h”:没有那个文件或目录
我发现我的电脑上没有atlbase.h
和atlcom.h
这两个文件。然而,在我的笔记本电脑上这段代码可以无错误运行,并且我在那里得到了这两个文件。
我考虑将这两个文件复制到我的台式电脑上,这样可行吗?如果是,我应该将它们复制到哪个文件夹中?我对Windows编程、QT和语音都很陌生。