title: Writing GStreamer plugins using Visual Studio 2010
body: <p>I’m trying to write a Gstreamer plugin in Visual Studio 2010.</p>
  
  <p>First, I've downloaded GStreamer package for Windows from
  <a href="http://gstreamer.freedesktop.org/download/" rel="nofollow">http://gstreamer.freedesktop.org/download/</a>.</p>
  
  <p>Then, I’ve added required property sheets and removed the dependency with
  the Visual Studio runtime as described in
  <a href="http://docs.gstreamer.com/display/GstSDK/Installing+on+Windows" rel="nofollow">http://docs.gstreamer.com/display/GstSDK/Installing+on+Windows</a>. I successfully built
  some examples from Gstreamer Application Development Manual, so I think that SDK is set up correctly.</p>
  
  <p>Now, my other goal is to write my own plugins. The Plugin Writer’s Guide
  describes how to construct the boilerplate in Unix/Linux. I've downloaded
  gst plugin templates from</p>
  
  <p>git clone git://anongit.freedesktop.org/gstreamer/gst-tmeplate.git</p>
  
  <p>The guide makes use of make_element utility that creates the boilerplate. I
  followed the instructions but this utility doesn't work on Windows.</p>
  
  <p>So I added "gstplugin.c" and "gstplugin.h" to my Visual Studio project as
  is. I noticed that “gstplugin.c” doesn’t have main function, what is the
  program’s entry point then?</p>
  
  <p>I tried to build the sample plugin as is (I didn't change
  templates "gstplugin.c" and "gstplugin.h") and got the following link error:</p>
  
  <blockquote>
    <p>msvcrt.lib(crtexe.obj) : error LNK2001: unresolved external symbol main</p>
  </blockquote>
  
  <p>How can I write a Gstreamer plugin in Visual Studio? Also, How can I build
  it?  I'm struggling to find good instructions on how to do this. </p>