title: GStreamer cross compile ARM under windows
body: <p>I'm developing linux multimedia application running on IMX6 (ARM) processor, I have used eclipse under windows7 (using Linaro cross tool chain), I would like to add GStreamer function calls, is it possible to do so, under windows?</p>
  
  <pre><code>#include &lt;gst/gst.h&gt;
  
  int
  main (int argc, char *argv[])
  {
    GstElement *pipeline;
    GstElement *filesrc;
    GstMessage *msg;
    GstBus *bus;
    GError *error = NULL;
  
    gst_init (&amp;argc, &amp;argv);
  
    if (argc != 2) {
      g_print ("usage: %s &lt;filename&gt;\n", argv[0]);
      return -1;
    }
  
    pipeline = gst_parse_launch ("filesrc name=my_filesrc ! mad ! osssink", &amp;error);
    if (!pipeline) {
      g_print ("Parse error: %s\n", error-&gt;message);
      exit (1);
    }
  
    filesrc = gst_bin_get_by_name (GST_BIN (pipeline), "my_filesrc");
    g_object_set (filesrc, "location", argv[1], NULL);
    g_object_unref (filesrc);
  
    gst_element_set_state (pipeline, GST_STATE_PLAYING);
  
    bus = gst_element_get_bus (pipeline);
  
    /* wait until we either get an EOS or an ERROR message. Note that in a real
     * program you would probably not use gst_bus_poll(), but rather set up an
     * async signal watch on the bus and run a main loop and connect to the
     * bus's signals to catch certain messages or all messages */
    msg = gst_bus_poll (bus, GST_MESSAGE_EOS | GST_MESSAGE_ERROR, -1);
  
    switch (GST_MESSAGE_TYPE (msg)) {
      case GST_MESSAGE_EOS: {
        g_print ("EOS\n");
        break;
      }
      case GST_MESSAGE_ERROR: {
        GError *err = NULL; /* error to show to users                 */
        gchar *dbg = NULL;  /* additional debug string for developers */
  
        gst_message_parse_error (msg, &amp;err, &amp;dbg);
        if (err) {
          g_printerr ("ERROR: %s\n", err-&gt;message);
          g_error_free (err);
        }
        if (dbg) {
          g_printerr ("[Debug details: %s]\n", dbg);
          g_free (dbg);
        }
      }
      default:
        g_printerr ("Unexpected message of type %d", GST_MESSAGE_TYPE (msg));
        break;
    }
    gst_message_unref (msg);
  
    gst_element_set_state (pipeline, GST_STATE_NULL);
    gst_object_unref (pipeline);
    gst_object_unref (bus);
  
    return 0;
  }
  </code></pre>