gpt4 book ai didi

linux - 在 Linux 上运行 openwebrtc 应用程序

转载 作者:太空宇宙 更新时间:2023-11-04 12:52:54 26 4
gpt4 key购买 nike

我正在尝试让一个简单的 native 客户端在 linux 机器上使用 openwebrtc 通过 webrtc 协议(protocol)流式传输音频和视频。

我已按照此处的构建说明进行操作。 https://github.com/EricssonResearch/openwebrtc/wiki/Building-OpenWebRTC

没有 linux 示例代码,所以我一直试图一点一点地复制 OSX 代码,直到我有一些工作。 https://github.com/EricssonResearch/openwebrtc-examples/blob/master/osx/Camera%20Test/Camera%20Test/AppDelegate.m

#include <stdio.h>

#include <owr/owr.h>
#include <owr/owr_media_source.h>
#include <owr/owr_types.h>
#include <owr/owr_video_renderer.h>

#define SELF_VIEW_TAG "self-view"

static void got_sources(GList *sources, gpointer user_data) {
g_assert(sources);

// haven't actually gotten to showing video yet
// the above line does not compile =(
}

int main(void) {
printf("starting owr\n");
owr_init(NULL);
owr_run_in_background();

owr_get_capture_sources(OWR_MEDIA_TYPE_VIDEO, got_sources, NULL);

printf("exiting owr\n");
owr_quit();
return 0;
}

问题是我在使用诸如 g_assert 或 g_object_get 之类的 glib 函数时遇到了编译错误。

> make
gcc webrtc-client.c -o webrtc-client -lopenwebrtc
/usr/bin/ld: /tmp/ccd4VTU9.o: undefined reference to symbol 'g_object_get'
/opt/openwebrtc-0.3/lib/libgobject-2.0.so.0: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
Makefile:23: recipe for target 'webrtc-client' failed

这些是我在 Makefile 中设置的环境变量

export PATH:=/opt/openwebrtc-0.3/bin:$(PATH)
export LD_LIBRARY_PATH:=/opt/openwebrtc-0.3/lib:$(LD_LIBRARY_PATH)
export GST_PLUGIN_PATH_1_0:=/opt/openwebrtc-0.3/lib/gstreamer-1.0/:$(GST_PLUGIN_PATH_1_0)
export PKG_CONFIG_PATH:=/opt/openwebrtc-0.3/lib/pkgconfig:$(PKG_CONFIG_PATH)
export CPATH:=/opt/openwebrtc-0.3/include:/opt/openwebrtc-0.3/include/glib-2.0:/opt/openwebrtc-0.3/lib/glib-2.0/include:$(CPATH)
export LIBRARY_PATH:=/opt/openwebrtc-0.3/lib:$(LIBRARY_PATH)

作为 openwebrtc 安装的一部分,cerbero 在 /opt/openwebrtc-0.3/lib/ 下安装了 glib。我还尝试安装 apt 包 libglib2.0-dev 并注释掉我的 PKG_CONFIG_PATH 但它不起作用。

如何让我的构建过程正确地合并 glib?

最佳答案

g_object_get 是 gobject 的一部分,而不是 glib。

我需要一个-lgobject-2.0 标志

我讨厌我自己

关于linux - 在 Linux 上运行 openwebrtc 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36586677/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com