This is the mail archive of the cygwin@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: DirectX8/DirectInput + cygwin


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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]