首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >gstreamer、glib和gtk中的错误。

gstreamer、glib和gtk中的错误。
EN

Stack Overflow用户
提问于 2013-03-06 23:18:29
回答 3查看 2.9K关注 0票数 0

我有在Ubuntu-10.04上编译的代码,以及我所安装的任何东西。我让synaptic升级了12.04,现在我在编译c++ Gstreamer程序时得到了这些错误。代码在linux上构建一个.so,并在windows上交叉编译一个.dll。so实现了一种对讲机的类型。

代码语言:javascript
复制
(process:18707): GLib-GObject-CRITICAL **: /build/buildd/glib2.0-2.32.3
/./gobject/gtype.c:2722: You forgot to call g_type_init()

(process:18707): GLib-CRITICAL **: g_once_init_leave: assertion 
`result != 0' failed

(process:18707): GLib-GObject-CRITICAL **: /build/buildd/glib2.0-2.32.3
/./gobject/gtype.c:2722: You forgot to call g_type_init()

(process:18707): GLib-CRITICAL **: g_once_init_leave: assertion 
`result != 0' failed

(process:18707): GStreamer-CRITICAL **: gst_element_get_state: assertion 
`GST_IS_ELEMENT (element)' failed

在我的代码中,我有一个类,它包含接收管道和发送方管道的另一个类。实际的Gstreamer内容位于以单独线程启动的run()方法中。

抛出这些错误的要点是第一次调用任意一个同意者(它们是对称的),其中我已经声明了一些GstXXXX (例如GstElement)变量,但还没有启动另一个线程。这需要调用start()方法。

我尝试使用gtk_init()作为论坛条目的建议。我向eclipse添加了所有pkg-config调用,但仍然说gtk_init()是一个未知的调用。很明显,我不太会那么做,但是我不应该需要它。我以前不是这样的。我现在就把它评论掉了。

那么,有人能提出什么可能导致gtk/gst抱怨。

我注意到,g_type_init()是在glib的2.36版本(我认为它们的意思是glib)之后被废弃的。那么,我如何知道安装了哪个版本的glib呢?

EN

回答 3

Stack Overflow用户

发布于 2013-03-07 12:58:49

梅尔帕。我接到了一个电话,它引用了一个尚未创建的变量。太傻了。现在一切都好了。

票数 0
EN

Stack Overflow用户

发布于 2013-04-19 08:54:59

您一定安装了一个旧的glib,因为在较新的版本中,没有这样的警告。在您的计算机上找到所有的glib库,将它们逐一重命名并构建,然后您就可以知道哪个库正在为您的项目工作。然后检查构建选项和相关的.pc文件glib,以找出构建过程中涉及到的错误库。在gtype.c中,警告被定义为g_log (G_LOG_DOMAIN,G_LOG_LEVEL_CRITICAL,\ "%s:您忘记调用g_type_init()",\ G_STRLOC);\

票数 0
EN

Stack Overflow用户

发布于 2013-08-05 12:33:19

对于有此错误的其他人,请确保您正在调用gst_init。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15260100

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档