我是Qt的新手,我正在尝试用Qt运行基本的gstreamermm示例.当我在qt的main.cpp中包含gstreamermm.h时,出现编译错误.我无法理解这个错误说的是什么.我在这个例子中使用Qt创建者.
#include <QApplication>
#include <gstreamermm.h>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}
Run Code Online (Sandbox Code Playgroud)
我得到以下编译错误
g++ -c -pipe -g -pthread -Wall -W -D_REENTRANT -fPIE -DQT_QML_DEBUG -DQT_DECLARATIVE_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../../../../Qt5.1.0/5.1.0/gcc_64/mkspecs/linux-g++ -I../PlayerBasic -I/usr/include/giomm-2.4 -I/usr/lib/x86_64-linux-gnu/giomm-2.4/include -I/usr/include/gstreamer-0.10 -I/usr/include/glibmm-2.4 -I/usr/lib/x86_64-linux-gnu/glibmm-2.4/include -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/sigc++-2.0 -I/usr/lib/x86_64-linux-gnu/sigc++-2.0/include -I/usr/include/libxml2 -I/usr/include/gstreamermm-0.10 -I/usr/lib/gstreamermm-0.10/include -I/usr/include/libxml++-2.6 -I/usr/lib/libxml++-2.6/include -I../../../../Qt5.1.0/5.1.0/gcc_64/include -I../../../../Qt5.1.0/5.1.0/gcc_64/include/QtWidgets -I../../../../Qt5.1.0/5.1.0/gcc_64/include/QtGui -I../../../../Qt5.1.0/5.1.0/gcc_64/include/QtCore -I. -I. -I. -o main.o ../PlayerBasic/main.cpp
In file included from /usr/include/glibmm-2.4/glibmm.h:92:0,
from /usr/include/gstreamermm-0.10/gstreamermm/bin.h:7,
from /usr/include/gstreamermm-0.10/gstreamermm.h:65,
from ../PlayerBasic/main.cpp:3:
/usr/include/glibmm-2.4/glibmm/balancedtree.h:225:40: error: macro "Q_FOREACH" requires 2 arguments, but …
Run Code Online (Sandbox Code Playgroud) 我刚刚开始学习GTK。我正在查看gtk + 3.0.0的源代码,发现某些gtk对象类型的_get_type()方法的实现,但有些则没有此方法的实现,例如GtkRange
。有什么理由吗?据《 GObject参考手册》了解,_get_type()
方法在类型系统中注册对象类型。