delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2002/02/06/19:31:29

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sources.redhat.com/ml/#faqs>
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 <andy AT snoogie DOT demon DOT co DOT uk>
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 <barubary AT cox DOT net>
CC: cygwin AT cygwin DOT com
Subject: Re: DirectX8/DirectInput + cygwin
References: <002301c1aef8$228e5440$2801a8c0 AT dcuthbert2k> <02f301c1aefe$fe475b20$a7eb0544 AT CX535256D>

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/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019