我正在尝试使用mciSendString函数在Qt中打开和关闭cd托盘。代码如下:
#include <windows.h>
MCIERROR mciSendString(LPCTSTR lpszCommand, LPTSTR lpszReturnString, UINT cchReturn, HANDLE hwndCallback);
void OpenCD()
{
mciSendString((LPCTSTR)"set cdaudio door open",(LPTSTR)NULL, (UINT)0, (HANDLE)NULL);
}
void CloseCD()
{
mciSendString((LPCTSTR)"set cdaudio door closed",(LPTSTR)NULL, (UINT)0, (HANDLE)NULL);
}
但是我得到了这个错误:“undefined reference to ` `mciSendStringW(wchar_t const*,wchar_t*,unsigned int,void*)‘”如何修复这个错误并使用mciSendString函数而没有任何问题?
发布于 2012-08-14 20:30:54
尝试将以下几行添加到pro-file:
LIBS += path_to_lib/Winmm.lib
或
LIBS += path_to_lib/Winmm.dll
您还可以包括Mmsystem.h和Windows.h
例如:
Pro文件包含从已安装的SDK到lib-file的链接:
LIBS += $$quote(C:\\Program Files\\Microsoft SDKs\\Windows\\v7.0A\\Lib\\WinMM.lib)
在cpp-file中:
#include "Windows.h"
#include "mmsystem.h"
//MCIERROR mciSendString(LPCTSTR lpszCommand, LPTSTR lpszReturnString, UINT cchReturn, HANDLE hwndCallback);
...
void MainWindow::on_pushButton_clicked() {
mciSendString((LPCTSTR)"set cdaudio door open",(LPTSTR)NULL, (UINT)0, (HWND__*)0);
}
https://stackoverflow.com/questions/11960101
复制相似问题