#### Archived

This topic is now archived and is closed to further replies.

# EAX on a Borland compiler

This topic is 5666 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

## Recommended Posts

Hi, has anyone here dealt with the EAX2.0 SDK on a Borland compiler (5.02 in my case)? I''m having a hard time getting it to link due to eaxguid.lib which doesn''t have a corresponding DLL and coff2omf outputs an empty file when I try to convert it. Hopefully someone has been in a similar situation and knows where to turn to/what to do because Google produces less than nothing in this case. Thanks, Crispy

##### Share on other sites
Try using implib and see if that help (that builds a lib file from a dll) If the lib file is using classes then your options are unfortunately limited. Go to Borlands website and read their newsgroup, there is an article there on how to adress this problem. Try a search on Google also, I know this can be found there.

____________________________________________________________
Try RealityRift at www.planetrift.com
Feel free to comment, object, laugh at or agree to this. I won''t engage in flaming because of what I have said.
I could be wrong or right but the ideas are mine.

##### Share on other sites
the guids should be defined in headers. use INITGUID define and you''ll get their definitions (as opposed to just declarations).

##### Share on other sites
quote:
Original post by MichaelT
Try using implib and see if that help (that builds a lib file from a dll) If the lib file is using classes then your options are unfortunately limited. Go to Borlands website and read their newsgroup, there is an article there on how to adress this problem. Try a search on Google also, I know this can be found there.

____________________________________________________________
Try RealityRift at www.planetrift.com
Feel free to comment, object, laugh at or agree to this. I won''t engage in flaming because of what I have said.
I could be wrong or right but the ideas are mine.

Hence the remark in my original post: "... which doesn''t have a corresponding DLL ..."

niyaw: if you mean just defining it as "#define INITGUID", it won''t work - still gives the same unresolved external linker error. Peering into eax.h shows that INITGUID is only handled for the OpenAL version (I''m using DirectSound).

The code in the header looks like this:

  #ifndef OPENAL	#include <dsound.h>	/*	* EAX Wrapper Interface (using Direct X 7) {4FF53B81-1CE0-11d3-AAB8-00A0C95949D5}	*/	DEFINE_GUID(CLSID_EAXDirectSound,		0x4ff53b81,		0x1ce0,		0x11d3,		0xaa, 0xb8, 0x0, 0xa0, 0xc9, 0x59, 0x49, 0xd5);	/*	* EAX Wrapper Interface (using Direct X 8) {CA503B60-B176-11d4-A094-D0C0BF3A560C}	*/	DEFINE_GUID(CLSID_EAXDirectSound8,		0xca503b60,		0xb176,		0x11d4,		0xa0, 0x94, 0xd0, 0xc0, 0xbf, 0x3a, 0x56, 0xc);#ifdef DIRECTSOUND_VERSION#if DIRECTSOUND_VERSION == 0x0800		__declspec(dllimport) HRESULT WINAPI EAXDirectSoundCreate8(GUID*, LPDIRECTSOUND8*, IUnknown FAR *);		typedef HRESULT (FAR PASCAL *LPEAXDIRECTSOUNDCREATE8)(GUID*, LPDIRECTSOUND8*, IUnknown FAR*);#endif#endif	__declspec(dllimport) HRESULT WINAPI EAXDirectSoundCreate(GUID*, LPDIRECTSOUND*, IUnknown FAR *);	typedef HRESULT (FAR PASCAL *LPEAXDIRECTSOUNDCREATE)(GUID*, LPDIRECTSOUND*, IUnknown FAR*);#else	#include <al.h>	#ifndef GUID_DEFINED		#define GUID_DEFINED		typedef struct _GUID		{			unsigned long Data1;			unsigned short Data2;			unsigned short Data3;			unsigned char Data4[8];		} GUID;	#endif // !GUID_DEFINED	#ifndef DEFINE_GUID		#ifndef INITGUID			#define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \					extern const GUID FAR name		#else			#define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \					extern const GUID name = { l, w1, w2, { b1, b2,  b3,  b4,  b5,  b6,  b7,  b8 } }		#endif // INITGUID	#endif // DEFINE_GUID	/*	* EAX OpenAL Extension {4FF53B81-1CE0-11d3-AAB8-00A0C95949D5}	*/	typedef ALenum (*EAXSet)(const GUID*, ALuint, ALuint, ALvoid*, ALuint);	typedef ALenum (*EAXGet)(const GUID*, ALuint, ALuint, ALvoid*, ALuint);#endif

What I need is CLSID_EAXDirectSound8... If anyone has the definition at hand, I''d appreciate sharing it with me.

Crispy

##### Share on other sites
quote:
Original post by Crispy

Hence the remark in my original post: "... which doesn''t have a corresponding DLL ..."

My fault for skimming your text, but I still suggest you to go to the Borland site for this one.

____________________________________________________________
Try RealityRift at www.planetrift.com
Feel free to comment, object, laugh at or agree to this. I won''t engage in flaming because of what I have said.
I could be wrong or right but the ideas are mine.

##### Share on other sites
quote:
Original post by Crispy
What I need is CLSID_EAXDirectSound8... If anyone has the definition at hand, I'd appreciate sharing it with me.

quote:

DEFINE_GUID(CLSID_EAXDirectSound8,
0xca503b60,
0xb176,
0x11d4,
0xa0, 0x94, 0xd0, 0xc0, 0xbf, 0x3a, 0x56, 0xc);

[edited by - niyaw on February 9, 2003 6:41:01 PM]

##### Share on other sites
MichaelT: happens to the best of us

Okay, #undef''ing DEFINE_GUID and redefining it before including eax.h seems to work. Why aren''t they providing the INITGUID compatibility for DirectSound - sheesh?

Anyhow,

Crispy

1. 1
2. 2
3. 3
frob
12
4. 4
5. 5

• 13
• 14
• 66
• 14
• 15
• ### Forum Statistics

• Total Topics
632130
• Total Posts
3004289

×