问题:QT mplayer 编译错误call of overloaded 'number(HWND_*)' is ambiguous

当使用QT  Creater 编写 基于mplayer播放器的时候。使用winId();获取窗口ID总是编译不过。

args << "-wid" << QString::number(renderTarget->winId());
因为这种写法是用在LINUX环境下,而在window 环境下运行的QT Creater当然是没办法编译的,所以想编译上面的程序只能再Linux环境下编译。

下面是一个从网上看到一个程序。明显在window环境下,和Linux环境下所编译的程序段是不一样的。

#ifdef Q_WS_WIN
		// reinterpret_cast<qlonglong> obligatoire, winId() ne se laissant pas convertir gentiment ;)
		args << "-wid" << QString::number(reinterpret_cast<qlonglong>(renderTarget->winId()));
		args << "-vo" << "directx:noaccel";
#else
		// Sur linux, aucun driver n'a été nécessaire et pas de manip pour Wid :)
		args << "-wid" << QString::number(renderTarget->winId());
		log->append("Video output driver may not be necessary for your platform. \
					Check: http://www.mplayerhq.hu/DOCS/man/en/mplayer.1.html \
					at the VIDEO OUTPUT DRIVERS section.");
#endif


你可能感兴趣的:(问题:QT mplayer 编译错误call of overloaded 'number(HWND_*)' is ambiguous)