Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Message-ID: <3C61CA96.9060601@snoogie.demon.co.uk> Date: Thu, 07 Feb 2002 00:30:14 +0000 From: andy younger User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:0.9.7+) Gecko/20020111 X-Accept-Language: en-us MIME-Version: 1.0 To: Barubary CC: cygwin AT cygwin DOT com Subject: Re: DirectX8/DirectInput + cygwin References: <002301c1aef8$228e5440$2801a8c0 AT dcuthbert2k> <02f301c1aefe$fe475b20$a7eb0544 AT CX535256D> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Peter Puck has already made bindings for Direct X 8. The site appears to be down at the moment, but if you google for dx8 "Peter Puck" you can probably find them, I believe these are MingW bindings, but they work fine with cygwin. Contrary to popular belief you can use the COM/C++ bindings. Gcc's default way of doing thunking is different than visual C's, but if you use the compiler option -fvtable-thunks it uses the vtable method. Due to this being a ABI change, you will need to build all your source files with this. This obviously does not fix the name mangling incompatibilities with Visual C, but on a COM interface such as DX, this does not matter. The biggest problem you will have are with DirectShow, and the D3DX libraries. DirectShow (or whatever it is called these days) has a C++ interface to it, and as such will only work with visual C's mangling scheme. So no joy there.. With D3DX, the problem is that the libraries are statically linked, and use Visual C++'s name mangling scheme for most of the internal symbols. This leaves them somewhat useless for any compiler rather than Visual C. There are 2 solutions to this. - don't use them, they are convenient, but not essential to DX programming. - Make a wrapper DLL for them with visual C. I believe someone has already done this to enable them to use the librarys in Borland C. A google search should yield some answers. Cheers, Andy -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/