2016-04-13 19 views
0

Ich versuche, einen einfachen nativen Client Audio und Video durch das webrtc-Protokoll zu streamen mit openwebrtc auf einem Linux-Rechner.zu einer funktionierenden openwebrtc app auf linux

Ich habe die Bauanleitungen hier folgen. https://github.com/EricssonResearch/openwebrtc/wiki/Building-OpenWebRTC

Es gibt keinen Linux-Beispielcode, also habe ich versucht, den OSX-Code nach und nach zu kopieren, bis etwas funktioniert. 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; 
} 

Das Problem ist, ich habe Fehler kompilieren mit glib Funktionen wie g_assert oder g_object_get.

> 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 

Das sind die env Variablen, die ich in meinem Makefile gesetzt

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) 

Im Rahmen der openwebrtc Instalation cerbero installiert glib unter /opt/openwebrtc-0.3/lib/. Ich habe auch versucht, das apt-Paket libglib2.0-dev zu installieren und mein PKG_CONFIG_PATH auskommentieren, das nicht funktionierte.

Wie bekomme ich meinen Build-Prozess, um glib richtig einzubauen?

Antwort

0

g_object_get ist Teil von gobject nicht glib.

brauchte ich eine -lgobject-2.0 Flagge

damnit Ich hasse mich

+0

Dies bietet keine Antwort auf die Frage. Um einen Autor zu kritisieren oder um Klärung zu bitten, hinterlasse einen Kommentar unter seinem Beitrag. - [Aus Bewertung] (/ review/low-quality-posts/12298427) – Serjik

+0

Ich brauchte '-lgobject-2.0'. Das war mein Problem. – James