問題:QT mplayer 編譯錯誤call of overloaded 'number(HWND_*)' is ambiguous
阿新 • • 發佈:2019-01-24
當使用QT Creater 編寫 基於mplayer播放器的時候。使用winId();獲取視窗ID總是編譯不過。
args<<"-wid"<<QString::number(renderTarget->winId());因為這種寫法是用在LINUX環境下,而在window 環境下執行的QT Creater當然是沒辦法編譯的,所以想編譯上面的程式只能再Linux環境下編譯。
下面是一個從網上看到一個程式。明顯在window環境下,和Linux環境下所編譯的程式段是不一樣的。
#ifdefQ_WS_WIN
//reinterpret_cast<qlonglong>obligatoire,winId()neselaissantpasconvertirgentiment;)
args<<"-wid"<<QString::number(reinterpret_cast<qlonglong>(renderTarget->winId()));
args<<"-vo"<<"directx:noaccel";
#else
//Surlinux,aucundrivern'aéténécessaireetpasdemanippourWid:)
args<<"-wid"<<QString::number(renderTarget->winId());
log->append("Videooutputdrivermaynotbenecessaryforyourplatform.\
Check:http://www.mplayerhq.hu/DOCS/man/en/mplayer.1.html\
attheVIDEOOUTPUTDRIVERSsection.");
#endif