Never mind... I've decided to refuse the project.
Never mind... I've decided to refuse the project.
Last edited by CommonTater; 05-07-2011 at 02:33 PM.
Oh well never mind, but you could've started with the MinGW headers. They compile on Pelles with a whopping 3 errors without modification. My versions of them are severely out of date though so YMMV.
Ok... Which headers and libs do I need?
(At this point it's no longer a priority so I can play with this in my spare time and see what happens...)
EDIT: Tearing a wide streak through Google ... no file lists in sight... This is a bit ridiculous...
Last edited by CommonTater; 05-07-2011 at 05:54 PM.
I just had a look at the MinGw headers and from what I can gather they have their own somewhat non-standard way of doing things. For example the dshow.h header with the SDK is really just a list of include files and a couple of quick definitions... in MinGw it's a rather long list of enums and structs... and the ddraw.h header is not there... so I rather doubt I could work off those headers as it's unlikely to match up with the information in the Windows SDK...
Crap, this is frustrating... between the generalized lack of documentation, Microsoft concentrating all it's eggs in the C++ basket and Pelles C not implementing this API, I foresee a large increase in my Excedrin bills unless I call it a day.
Bummer!
O_o
What version of "DirectShow" are you targeting? It is going to mean jumping through some hoops regardless...
If you don't mind working with a slightly older version, you can search for the older "DirectX DevPak". The headers were either created from scratch or adapted from Microsoft's own headers. You may have to use it with "MinGW" though; for some time some "GCC" extensions had been used in some of the headers. It may or may not work with anything else.
[Edit]
Yes, "Dev-C++" hasn't been updated in a long time. You don't need to install "Dev-C++"; it (the "DevPak") is just a "tar.bz2" or something. You can almost certainly open it with software already on your machine.
[/Edit]
Alternatively, "Embarcadero C++ Builder" supports a lot of C99 features properly and has headers and libraries directly from Microsoft. Of course, they apparently stopped offering keys for personal users a while back.
If none of that works, you could make a thin C89 only wrapper built with "MSVC". You could do all your real work with "Pelle's". If Pelle's doesn't support linking to "MSVC" object files directly, you can use "MinGW" (specifically the linker "LD") to link, or you could build into a shared library and rebuild a linker library for it with "Pelle's" tools.
[Edit]
Oh, your supposed to have gone back to ignoring me. Anyone want to pass this along?
[/Edit]
Soma
Thanks for that. I still haven't come across a working solution... the wrapper idea may work... I'll have to make a test library in msvc and see if Pelles will link to it... might be the easiest solution.
DirectShow also uses DirectDraw and DirectSound... it's all COM objects. Pelles can do COM so I don't see why this is such a big problem... But I guess it is... I guess by the time I'm done I'll have a C-99 version of DirectX too... what a pain!
Microsoft strikes again!
Last edited by CommonTater; 05-08-2011 at 07:36 AM.