【发布时间】:2017-10-16 15:00:21
【问题描述】:
我正在尝试学习 GStreamer。我正在使用 macOS 10.13-x86_64。
我开始编写this 教程。
最初我安装了 GStreamer .pkg 文件。
GStreamer 安装在/Library/Frameworks/GStreamer.framework
我设法编译并运行了教程,但我需要使用sudo 才能访问/Library/Frameworks/GStreamer.framework 目录。
后来我发现我可以通过 homebrew 安装 GStreamer。
所以,我手动删除了/Library/Frameworks/GStreamer.framework 并运行以下命令:
brew install gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav
很遗憾,本教程现在抛出运行时错误。
./basic-1
[1] 1873 illegal hardware instruction ./basic-1
我尝试用 lldb 调试错误(我对 lldb 很陌生,几乎什么都不会)。
lldb basic-1
(lldb) target create "basic-1"
Current executable set to 'basic-1' (x86_64).
(lldb) run
Process 2129 launched: '/Users/aleksey/projects/media/gstreamer-dummy/basic-1' (x86_64)
Process 2129 stopped
* thread #14, stop reason = EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)
frame #0: 0x00007fff3b0e3939 CoreFoundation`__CFRunLoopDeallocate + 537
CoreFoundation`__CFRunLoopDeallocate:
-> 0x7fff3b0e3939 <+537>: ud2
0x7fff3b0e393b <+539>: nopl (%rax,%rax)
CoreFoundation`__CFRunLoopCleanseSources:
0x7fff3b0e3940 <+0>: pushq %rbp
0x7fff3b0e3941 <+1>: movq %rsp, %rbp
Target 0: (basic-1) stopped.
而且我不知道该怎么办。
我用
编译代码gcc -Wall basic-tutorial-1.c -o basic-1 $(pkg-config --cflags --libs gstreamer-1.0)
我有以下配置
$ pkg-config --cflags --libs gstreamer-1.0
-D_REENTRANT -I/usr/local/Cellar/gstreamer/1.12.3/include/gstreamer-1.0 -I/usr/local/Cellar/glib/2.54.1/include/glib-2.0 -I/usr/local/Cellar/glib/2.54.1/lib/glib-2.0/include -I/usr/local/opt/gettext/include -I/usr/local/Cellar/pcre/8.41/include -L/usr/local/Cellar/gstreamer/1.12.3/lib -L/usr/local/Cellar/glib/2.54.1/lib -L/usr/local/opt/gettext/lib -lgstreamer-1.0 -lgobject-2.0 -lglib-2.0 -lintl -Wl,-framework -Wl,CoreFoundation
你能帮我解决这个问题吗?有什么问题?
【问题讨论】:
-
你的问题解决了吗,我现在也有同样的问题
-
@AlbaHoo 老实说我不记得我是否设法修复它。我想我没有修复它,但它变得与我无关。
标签: macos clang homebrew gstreamer