Pea*_*Gen 9 c++ windows qt sapi header-files
请查看以下代码
#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;
}
Run Code Online (Sandbox Code Playgroud)
我正在使用QT.当我运行此代码时,我收到错误
无法打开包含文件:'atlbase.h':没有这样的文件或目录
我注意到我没有文件atlbase.h或atlcom.h我的机器.但是,这个代码在我的笔记本电脑中运行没有错误,我在那里得到了这两个文件.
我正在考虑将这两个文件的副本放到我的台式计算机中,它会起作用吗?如果是,我必须将它们复制到哪个文件夹?请注意我是Windows编程,QT和语音的新手.
请帮忙!
小智 12
对我来说,这些文件位于:
VS2010 - C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\atlmfc\include\atlbase.h
VS2008 - C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\atlmfc\include\atlbase.h
Run Code Online (Sandbox Code Playgroud)
请注意ATL是Microsoft Visual Studio的一部分(但不是Express Edition).如果你需要获得快递ATL,请看看这个主题如何将WTL和ATL添加到visual studio c ++ express 2008
我不认为抄袭atlbase.h并atlcom.h会帮助你.您可能尝试获取所有atl*.h文件并安装所需的Microsoft Visual C++ Redistributable软件包.
您不需要那些代码的标头.删除extern CComModule _Module;和atl标题.添加#include <windows.h>.
| 归档时间: |
|
| 查看次数: |
40205 次 |
| 最近记录: |