0

我在我的应用程序中使用 QtMultimedia 模块。但是,在 Windows 中传递的以下代码在 ubuntu 上失败。

 #include <QtMultimedia/QAbstractVideoSurface>
 #include <QtMultimedia/QVideoFrame>

根据this question,必须安装QtMultimediaKit。但是,标头的位置不同,通过的代码如下所示:

 #include <QtMultimediaKit/QAbstractVideoSurface>
 #include <QtMultimediaKit/QVideoFrame>

诚然,这是一个很小的区别,但它阻止了我在 Windows 和 ubuntu 中互换编译。我的猜测是,我应该使用某种形式的宏表达式,如下所示:

#ifdef WIN_MACRO
     #include <QtMultimedia/QAbstractVideoSurface>
     #include <QtMultimedia/QVideoFrame>
#else
     #include <QtMultimediaKit/QAbstractVideoSurface>
     #include <QtMultimediaKit/QVideoFrame>
#endif

使代码在两个系统上都编译。如果这是正确的,宏应该是什么?如果不是 - 如何解决问题?

4

1 回答 1

0

Qt 库中有一个宏可以帮助您。尝试:

#ifdef Q_OS_WIN
于 2013-05-28T08:33:32.077 回答