Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
建筑gstreamer窗户上的锐利胶水_Gstreamer - Fatal编程技术网

建筑gstreamer窗户上的锐利胶水

建筑gstreamer窗户上的锐利胶水,gstreamer,Gstreamer,我想将我的Windows WPF C#应用程序升级为使用GStreamer 1.4而不是GStreamer 0.10。 我在Linux上构建了gstreamer-sharp,没有任何错误,dll大小为1.24MB,这似乎是合理的,当我从C#应用程序中引用gstreamer-sharp.dll时,我使用的所有类和方法名称都已解析。好 不过,我在窗户上粘胶水时遇到了问题。我从gstreamer sharp获取了一个Visual Studio项目模板,将输出从应用程序更改为库,将gobject.c和生

我想将我的Windows WPF C#应用程序升级为使用GStreamer 1.4而不是GStreamer 0.10。 我在Linux上构建了gstreamer-sharp,没有任何错误,dll大小为1.24MB,这似乎是合理的,当我从C#应用程序中引用gstreamer-sharp.dll时,我使用的所有类和方法名称都已解析。好

不过,我在窗户上粘胶水时遇到了问题。我从gstreamer sharp获取了一个Visual Studio项目模板,将输出从应用程序更改为库,将gobject.c和生成的.c从gstreamer sharp添加到项目中,添加了一个到windk的路径以解析msvcrt_winxp.obj,并构建了libgstreamer-1.0-0.dll,其大小为50.5 kB(看起来很小,不应该是3倍大吗?)。 当我尝试将其用于C#应用程序时,调用Gst.application.InitCheck(ref args)时会出现一个错误:

在DLL“libgstreamer-1.0-0.DLL”中找不到名为“gst\u value\u list\u get\u type”的入口点

难怪它抱怨说,generated.c中不存在这样的方法。
我做错了什么?

gstreamer-sharp没有在所有对本机的调用中使用glue库。glue库仅用于访问Gobject和不透明类型中的字段。粘合库只是返回字段的填充,以计算托管端字段的偏移量。胶水的大小看起来不错,因为它只是一个用来计算偏移量的小包装。 该错误更可能是在使用应用程序类时引起的,因为它初始化access上的所有GstValue类型。也许windows二进制文件已损坏,并且不包含gst\u value\u list\u get\u type,这会很奇怪。你能试着写一个小的C程序来调用这个函数,看看是否有错误。如果C程序工作正常,那么.NET可能无法找到您的库,尽管在这种情况下通常会出现DllNotFoundException


您可以在此处找到一个包含visual studio项目的存储库,用于胶水

在被另一个项目分散注意力后,我将回到GStreamer。二进制文件还可以,gstreamersharp还可以,是胶水错了。Sebastian给我发了一个你的VS2013 libgstreamersharpglue项目的链接,我在我的机器上制作了胶水,一切都开始工作了!如果您编辑答案并将链接发布到存储库,我会将其标记为正确。非常感谢您将该项目公之于众,它解决了我所有的问题,我的VS2010胶水解决方案一定出了问题。