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[2]: DirectX8/DirectInput + cygwin


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" <dylan@q-games.com>
B> To: "Cygwin@Cygwin. Com" <cygwin@cygwin.com>
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/


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