By the way, you can access the DirectX C interfaces (or any COM interface for that matter) from C++ by #defining CINTERFACE before including the header containing the interface.
Also, you don't have to use lpVtable, you can always use the macros they provide (your preference). -Wade Wednesday, February 06, 2002, 3:11:14 AM, you wrote: B> Getting DirectX to work from cygwin GCC essentially can't be done from C++, B> but can be done from C. It can't be done from C++ because of the way COM B> virtual tables work. GCC can't clone Visual C++'s method because Microsoft B> holds a U.S. patent on their exact method. Just try using MFC from GCC and B> you'll know exactly what I mean. B> In C, the virtual table system is done by actually creating the vtable B> structure in the header file, so this isn't a problem. If you modify the B> DirectX header files, you could fix this for C++, but you'd have to do ->>lpVtable all the time, like in C. B> GCC, or rather binutils, can't handle the Microsoft import library format. B> binutils of course has its own, so you could make your own from the DLL. B> If import libraries don't work, you could always GetProcAddress on B> DirectInputCreate8 after loading dinput8.dll. Then the problem becomes how B> to get to the weird global functions (D3DX matrix stuff, for instance). B> -- Barubary B> ----- Original Message ----- B> From: "Dylan Cuthbert" <[EMAIL PROTECTED]> B> To: "Cygwin@Cygwin. Com" <[EMAIL PROTECTED]> B> Sent: Wednesday, February 06, 2002 2:22 AM B> Subject: DirectX8/DirectInput + cygwin >> When compiling a DirectInput8 function such as DirectInput8Create() I get B> an >> error linking: >> Unable to resolve DirectInput8Create@20 B> -- B> Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple B> Bug reporting: http://cygwin.com/bugs.html B> Documentation: http://cygwin.com/docs.html B> FAQ: http://cygwin.com/faq/ -- 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/