我在我的应用程序中使用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使代码在两个系统上都能编译。如果这是正确的,那么宏应该是什么?如果不是-如何解决这个问题?
发布于 2013-05-28 16:33:32
Qt库中有一个宏应该会对您有所帮助。尝试:
#ifdef Q_OS_WINhttps://stackoverflow.com/questions/16786867
复制相似问题