title: Undefined reference to Gstreamer functions C++ Ubuntu
body: <p>I am trying to compile the Gstreamer SDK tutorial 1: Hello World application with C++</p>
  
  <p>I have run into quite a few problems but after getting all my includes files in place I am still having issues with it.</p>
  
  <p>The highest supported distro of Ubuntu is "Ubuntu Raring Ringtail (13.04)" for the Gstreamer SDK so I installed it using those repositories for x64</p>
  
  <p>I am running Ubuntu 14.04 x64 and the package seemed to install ok. </p>
  
  <p>Here is what I have for code (adapted to C++):</p>
  
  <pre><code>#include &lt;stdio.h&gt;
  #include &lt;gst/gst.h&gt;
  
  //using namespace std;
  
  int main(int argc, char *argv[])
  {
    GstElement *pipeline;
    GstBus *bus;
    GstMessage *msg;
  
    /* Initialize GStreamer */
    gst_init (&amp;argc, &amp;argv);
  
    /* Build the pipeline */
    pipeline = gst_parse_launch("playbin2 uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm", NULL);
  
    /* Start playing */
    gst_element_set_state (pipeline, GST_STATE_PLAYING);
  
    /* Wait until error or EOS */
    bus = gst_element_get_bus (pipeline);
    msg = gst_bus_timed_pop_filtered (bus, GST_CLOCK_TIME_NONE, (GstMessageType)(GST_MESSAGE_ERROR | GST_MESSAGE_EOS));
  
    /* Free resources */
    if (msg != NULL)
      gst_message_unref (msg);
    gst_object_unref (bus);
    gst_element_set_state (pipeline, GST_STATE_NULL);
    gst_object_unref (pipeline);
    return 0;
  }
  </code></pre>
  
  <p>And here is the error I am getting along with my g++ invoke:</p>
  
  <pre><code>11:46:28 **** Build of configuration Debug for project gst-test ****
  make all 
  Building file: ../main.cpp
  Invoking: GCC C++ Compiler
  g++ -I/usr/include/gstreamer-0.10 -I/usr/include/glib-2.0 -I/usr/include/libxml2 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -O0 -g3 -Wall -c -fmessage-length=0  `pkg-config  --cflags --libs gstreamer-0.10` -MMD -MP -MF"main.d" -MT"main.d" -o "main.o" "../main.cpp"
  Finished building: ../main.cpp
  
  Building target: gst-test
  Invoking: GCC C++ Linker
  g++  -o "gst-test"  ./main.o   
  ./main.o: In function `gst_message_unref':
  /usr/include/gstreamer-0.10/gst/gstmessage.h:347: undefined reference to `gst_mini_object_unref'
  ./main.o: In function `main':
  /home/kyle/workspace/gst-test/Debug/../main.cpp:19: undefined reference to `gst_init'
  /home/kyle/workspace/gst-test/Debug/../main.cpp:22: undefined reference to `gst_parse_launch'
  /home/kyle/workspace/gst-test/Debug/../main.cpp:25: undefined reference to `gst_element_set_state'
  /home/kyle/workspace/gst-test/Debug/../main.cpp:28: undefined reference to `gst_element_get_bus'
  /home/kyle/workspace/gst-test/Debug/../main.cpp:29: undefined reference to `gst_bus_timed_pop_filtered'
  /home/kyle/workspace/gst-test/Debug/../main.cpp:34: undefined reference to `gst_object_unref'
  /home/kyle/workspace/gst-test/Debug/../main.cpp:35: undefined reference to `gst_element_set_state'
  /home/kyle/workspace/gst-test/Debug/../main.cpp:36: undefined reference to `gst_object_unref'
  collect2: error: ld returned 1 exit status
  make: *** [gst-test] Error 1
  </code></pre>
  
  <p>And here is my pkg-config output:</p>
  
  <pre><code>pkg-config --cflags --libs gstreamer-0.10
  -pthread -I/usr/include/gstreamer-0.10 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/libxml2  -pthread -lgstreamer-0.10 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lxml2 -lglib-2.0 
  </code></pre>
  
  <p>I have tried a bunch of things but the closest I could find to my problem was this:</p>
  
  <p><a href="https://stackoverflow.com/questions/8347676/issues-linking-against-gstreamer-libraries-ubuntu-11-10">Issues linking against gstreamer libraries ubuntu 11.10</a></p>
  
  <p>and this:
  <a href="http://lists.freedesktop.org/archives/gstreamer-devel/2009-May/022575.html" rel="nofollow noreferrer">http://lists.freedesktop.org/archives/gstreamer-devel/2009-May/022575.html</a></p>
  
  <p>Thanks for the help, and I apologize if it is something stupid I am still new to C++</p>