[gst-devel] problems linking/compiling plugins on windows with vs8

Ole Andre Vadla Ravnås ole.andre.ravnas at tandberg.com
Tue Aug 28 16:46:04 CEST 2007


Hi,

 

Seeing that you're using MSVS2005 I suggest that you have a look at OABuild:

 

http://projects.collabora.co.uk/~oleavr/OABuild/

 

The MSVS project files are based on the ones in GStreamer, but changed radically to use property sheets to avoid duplication of compiler flags and the likes of. It's also radically different in that all projects are part of one solution, so you get dependencies taken care of. Another bonus is that the output matches that UNIX layout, so you get headers etc. all ready to be turned into an SDK.

 

Cheers,

Ole André

 

 

From: gstreamer-devel-bounces at lists.sourceforge.net [mailto:gstreamer-devel-bounces at lists.sourceforge.net] On Behalf Of michelle Wagner
Sent: Tuesday, August 28, 2007 1:47 PM
To: gstreamer-devel at lists.sourceforge.net
Subject: [gst-devel] problems linking/compiling plugins on windows with vs8

 


Hi my name is Sally.  I'm a student in Hawaii and am proficient in C++.  I'm trying to get gstreamer plugins to work with a project I'm working on in Windows in my spare time, trying to create a windows app to play movies using gstreamer.  I ran into some problems getting the plugins to compile out of the box. 

-------------------------------------------------------------------------------------------------------------------------------------- 

In the win32 folder of  gst-plugins-base-0.10.13, I am trying to build the vs8 (aka visual studio 2005) plug-in projects.       

I had to change some of the "Configuration Properties\C++\General\Additional includes directories" And the "Configuration Properties\Linker\General\Additional include directories" to point to the projects gstreamer requires that I have downloaded, to get rid of most of the build errors.   

I am trying to get the libgstplaybin project to work first.  
It requires several other projects to build... I'm stuck on getting the libgstinterfaces project to build, which is one of the projects libgstplaybin requires built.     

I get the following six errors:      

gst-plugins-base-0.10.13\gst-libs\gst\interfaces\colorbalance.c(83) : error C2065: 'gst_interfaces_marshal_VOID__OBJECT_INT' : undeclared identifier   
gst-plugins-base-0.10.13\gst-libs\gst\interfaces\mixer.c(85) : error C2065: 'gst_interfaces_marshal_VOID__OBJECT_BOOLEAN' : undeclared identifier      
gst-plugins-base-0.10.13\gst-libs\gst\interfaces\mixer.c (99) : error C2065: 'gst_interfaces_marshal_VOID__OBJECT_POINTER' : undeclared identifier   
gst-plugins-base-0.10.13\gst-libs\gst\interfaces\mixer.c(106) : error C2065: 'gst_interfaces_marshal_VOID__OBJECT_STRING' : undeclared identifier      
gst-plugins-base-0.10.13\gst-libs\gst\interfaces\tuner.c(100) : error C2065: 'gst_interfaces_marshal_VOID__OBJECT_ULONG' : undeclared identifier   
gst-plugins-base-0.10.13\gst-libs\gst\interfaces\tuner.c(107) : error C2065: 'gst_interfaces_marshal_VOID__OBJECT_INT' : undeclared identifier   

I get these same errors when building the vc6 projects converted to visual studio 8 projects as
i do when compiling the visual studio 8 project
if i convert the vc6 projects too vc8 projects i also get this error: 
'glib-genmarshal' is not recognized as an internal or external command  
I get the same errors with gst-plugins-base-0.10.14 and gst-plugins-base-0.10.13  

Potentially usefully info:

One thing these six files have in common is that they all include "interfaces-marshal.h".    
This file is in the plugin base directory I downloaded, in gst-libs\gst\interfaces.  
interfaces-marshal.h only consists of one line:  
#include "gst/gstconfig.h"    

However in the gst-plugins-base-0.10.13.win32dev,   
Another filed called "interfaces-marshal.h" includes forward declarations of 'gst_interfaces_marshal_VOID__OBJECT_INT' and the other five functions needed.  Sadly this package does not incude any "interfaces- marshal.c", and for some reason linking to the lib provided in this package does not fix the the build errors in the libgstinterfaces project.Pre-compiled Plugins
"interfaces-marshal.h" is a file in the plugin package and is not in the general gstreamer package. 

Getting it to work with the pre-compiled plugins would also be a good solution

I have tried the windows pre-compiled plugin dlls in the gst-plugins-base-0.10.13.win32.zip package from:
http://gstreamer.freedesktop.org/pkg/windows/releases/gst-plugins-base/   
In this package there are only dlls.   

I reference libgstplaybin.dll in Configuration properties\linker\input\additional dependencies.      

Linker Error I get:

gst-plugins-base-0.10.13.win32\lib\gstreamer-0.10\libgstplaybin.dll : fatal error LNK1107: invalid or corrupt file: cannot read at 0x270      

Things I've Tried:   

Removing debug and release folders, cleaning solution, and rebuild does not fix this problem.   
Redownloading gst-plguins-base package has no effect either.  


thanks  
xoxo  
Sally  

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20070828/c820a3ad/attachment.htm>


More information about the gstreamer-devel mailing list