1 GStreamer build for Visual Studio 10
7 Flex/Bison for Windows ( http://sourceforge.net/projects/winflexbison/ )
9 Sample Directory layout
10 =======================
13 build (contains source for each project)
21 vs10 (contains built products)
28 GLib and its dependencies need to be installed in <root>\vs10\Win32 folder,
29 which is default behavior when you put the source to <root>\build\glib and
32 The gstreamer projects follow similar pattern. After build the result files
33 will be placed in <root>\vs10\Win32\bin, include, and lib folders.
35 The entire flex distribution (including data folder) needs to be placed in the
36 <root>\vs10\Win32\bin folder. If you put the data folder elsewhere you will need
37 to modify BISON_PKGDATADIR variable in Common.props (see the next seciton)
39 Modifying Build Settings
40 ========================
42 This build makes use of Visual Studio Property sheets. All projects include the
43 Common.props property sheet preset in gstreamer\win32\vs10
46 You will need to modify at least one property - GstAbsPluginPath. This property
47 should contains escaped path to default GStreamer plugin folder, i.e.
48 C:\\gstreamer\\vs10\\Win32\\lib\\gstreamer-1.0 when your <root> is C:\\gstreamer
50 All projects include common property files from the gstreamer project so it must
51 be present when building gst-plugins-base,good,ugly,bad and gst-ffmpeg.
53 Creating Project for New Library or Plugin
54 ==========================================
56 1. Create empty project in the Solution. Note that project name is improtant.
58 For plugin the project name should be in form of "gstmypluigin" and the resulting
59 plugin dll will have same name as the project (i.e. "gstmyplugin.dll")
61 For library the project name should be same as the library folder. I.e. for
62 gst-libs\gst\pbutils library in gst-plugins-base the project name is "pbutils"
64 2. Add gstreamer\win32\vs10\Common.props and either gstreamer\win32\vs10\Library.props
65 or gstreamer\Win32\vs10\Plugin.props depending on whether the project is for library
68 3. Set the project type to Shared Library in project preferences
70 4. If the project contains any generated gst-enums or needs to generate marshallers add
71 the appropriate entries to solution "generate" project. See the generate project in
72 gst-plugins-base solution for example
74 5. Add source files to project
76 6. If necessary modify the project settings. Usually the only modification necessary
77 should be adding dependency libraries in linker input settings or specfying project
78 dependencies if the new project depends on another project within the solution
80 7. If the project is a library it must have a def file in win32\common with name
81 libgst<projectname>.def . I.e. pbutils project needs to have libgstpbutils.def
82 file in gst-plugins-base\win32\common