Game Development Community

TSE compile errors

by Dave Mckay · in Torque Game Engine Advanced · 06/05/2005 (6:05 am) · 21 replies

Not sure how to fix this. I know it is probably a simple fix but I am having brain fartness today and can't think. Anyone help?

Using VC6

d:\projects\tse\engine\gfx\D3D\gfxD3DDevice.cpp(1381) : error C3861: 'D3DPERF_BeginEvent': identifier not found, even with argument-dependent lookup

The code:

D3DPERF_BeginEvent(D3DCOLOR_ARGB(color.alpha, color.red, color.green, color.blue),
(LPCWSTR)&eventName);

d:\projects\tse\engine\gfx\D3D\gfxD3DDevice.cpp(1388) : error C3861: 'D3DPERF_EndEvent': identifier not found, even with argument-dependent lookup

The code:
D3DPERF_EndEvent();

d:\projects\tse\engine\gfx\D3D\gfxD3DDevice.cpp(1399) : error C3861: 'D3DPERF_SetMarker': identifier not found, even with argument-dependent lookup

The code:
D3DPERF_SetMarker(D3DCOLOR_ARGB(color.alpha, color.red, color.green, color.blue),
(LPCWSTR)&eventName);


d:\projects\tse\engine\atlas\atlasTQTFileD3D.cpp(71) : error C3861: 'D3DXSaveTextureToFileInMemory': identifier not found, even with argument-dependent lookup

The code:
D3DAssert(D3DXSaveTextureToFileInMemory(&d3dxBuff, D3DXIFF_DDS, tmpTex, NULL), "Weeba!");

d:\projects\tse\engine\atlas\atlasTQTFileD3D.cpp(187) : error C3861: 'D3DXSaveTextureToFileInMemory': identifier not found, even with argument-dependent lookup

The code:
D3DAssert(D3DXSaveTextureToFileInMemory(&d3dxBuff, D3DXIFF_DDS, tmpTex, NULL), "Weeba!");

TSE_DEBUG.exe - 5 error(s), 0 warning(s)
Page «Previous 1 2
#1
06/05/2005 (12:52 pm)
Do you have the most recent DX9 SDK installed, and your include paths set to point to it FIRST?
#2
06/05/2005 (3:40 pm)
The most recent version of the DX9 SDK doesn't work with VC6, does it? The TSE docs say to use the October 2004 version with the corresponding extras package. Has this changed?
#3
06/06/2005 (3:35 am)
No, the october release works well here.
#4
06/06/2005 (4:39 am)
I can confirm what Grugin said.
#5
06/06/2005 (1:11 pm)
You need the October (December may work as well) + the extras to run with VC6.

Milestone 2 is the last milestone we will be supporting/maintaining the VC6 project files. We can't continue to support it since Microsoft has dropped support for it with DirectX. We may bring it back when OpenGL is implemented, but no promises.
#6
06/06/2005 (3:05 pm)
I figured it was something to do with the libs. Okay I need to reinstall the developers kit. I was using NIVDIA lib trying some stuff out and completely forgot. :o

Dave
#7
06/09/2005 (7:35 pm)
First, sorry for the late reply a lot of things going on lately so not a whole lot of time to work on things.

I just made sure that the December release of SDK was installed and still get the same 5 errors. Maybe it is the compiler? The previous release of TSE compiled fine with VC6.
#8
06/10/2005 (9:51 am)
I dont know. I use the June 2005 release of DirectX SDK with VC6 and have no problems compileing TSE with it.
#9
06/10/2005 (2:17 pm)
I think I know what the problem is but not sure how to fix it except to reinstall VC6.

Awhile back I downloaded VC 7.1 Compiler and I must have put it into the VC6 directory. WHen I do a version I get...

Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.10.3077 for 80x86

I don't think this is the correct one.
#10
06/18/2005 (7:00 am)
I just wanted to state that I have the same problem here. I used to uncomment the Perf-stuff because quite honestly I don't care about DirectX enough to even try any kind of performance debugging with it. However, with the advent of the atlas code in TSE I also get the missing "D3DXSaveTextureToFileInMemory" function error. Is this a function that has been added to later versions of the SDK maybe?

And no, I did not install VC7.1, I'm running the plain VC6 with a pretty old SDK (October 2004 as stated in the docs).

Any clues?


(Can't wait for the OpenGL stuff...)
#11
06/18/2005 (3:44 pm)
Yes; the new versions of D3DX have new functions, which we use when applicable. Most of the core atlas texture compression/generation code will be rewritten for the OGL port; for now it's faster and easier to simply use D3DX for it.
#12
06/19/2005 (5:56 am)
You are correct Josef Jahn. I reinstalled and still have the problem but I am using December release of DirectX. I will get the latest later today and test it out.
#13
06/20/2005 (9:01 pm)
I mush have had the older version of DirectX because I downloaded June release today and it compiled without error. I am sure I had December release so my guess it does not work for December.

Dave
#14
06/21/2005 (10:57 am)
For those of you running the December release with VC6, did you also download the Extras pack for it? It won't work without it.
#15
06/21/2005 (5:14 pm)
No I did not have December Extras. Now I run into a new problem when I did a rebuild. Just these 12 errors and I can't seem to figurre out what I did.

d:\projects\tse\engine\gfx\D3D\DXDiagNVUtil.cpp(213) : error C2065: 'strcpy_instead_use_StringCbCopyA_or_StringCchCopyA' : undeclared identifier
d:\projects\tse\engine\gfx\D3D\DXDiagNVUtil.cpp(237) : error C3861: 'strcpy_instead_use_StringCbCopyA_or_StringCchCopyA': identifier not found, even with argument-dependent lookup
d:\projects\tse\engine\gfx\D3D\DXDiagNVUtil.cpp(289) : error C3861: 'strcpy_instead_use_StringCbCopyA_or_StringCchCopyA': identifier not found, even with argument-dependent lookup
d:\projects\tse\engine\gfx\D3D\DXDiagNVUtil.cpp(472) : error C2065: 'swprintf_instead_use_StringCbPrintfW_or_StringCchPrintfW' : undeclared identifier
d:\projects\tse\engine\gfx\D3D\DXDiagNVUtil.cpp(475) : error C3861: 'swprintf_instead_use_StringCbPrintfW_or_StringCchPrintfW': identifier not found, even with argument-dependent lookup
d:\projects\tse\engine\gfx\D3D\DXDiagNVUtil.cpp(478) : error C3861: 'swprintf_instead_use_StringCbPrintfW_or_StringCchPrintfW': identifier not found, even with argument-dependent lookup
d:\projects\tse\engine\gfx\D3D\DXDiagNVUtil.cpp(696) : error C3861: 'swprintf_instead_use_StringCbPrintfW_or_StringCchPrintfW': identifier not found, even with argument-dependent lookup
d:\projects\tse\engine\gfx\D3D\DXDiagNVUtil.cpp(697) : error C2181: illegal else without matching if
d:\projects\tse\engine\gfx\D3D\DXDiagNVUtil.cpp(698) : error C3861: 'swprintf_instead_use_StringCbPrintfW_or_StringCchPrintfW': identifier not found, even with argument-dependent lookup
d:\projects\tse\engine\gfx\D3D\DXDiagNVUtil.cpp(795) : error C3861: 'swprintf_instead_use_StringCbPrintfW_or_StringCchPrintfW': identifier not found, even with argument-dependent lookup
d:\projects\tse\engine\gfx\D3D\DXDiagNVUtil.cpp(796) : error C2181: illegal else without matching if
d:\projects\tse\engine\gfx\D3D\DXDiagNVUtil.cpp(797) : error C3861: 'swprintf_instead_use_StringCbPrintfW_or_StringCchPrintfW': identifier not found, even with argument-dependent lookup

My includes are:

C:\PROGRAM FILES\MICROSOFT DIRECTX 9.0 SDK (JUNE 2005)\INCLUDE
D:\Microsoft Visual Studio\VC98\Include
D:\Microsoft Visual Studio\VC98\MFC\Include

In that order.

Am I missing something?
#16
06/22/2005 (4:46 pm)
Never mind I finally fixed it.
#17
07/05/2005 (2:43 pm)
Roger that, will download the newer SDK and try again. MS never ceases to annoy me...

Dave: Please be so kind and post how you fixed your latest compile problem. There may be others running into the same thing, and merely posting "Nevermind I fixed it" won't help them one bit. Thanks!
#18
07/05/2005 (3:34 pm)
For starters I decided not to complie the debug version and I did not have any problem doing a fresh build. Second I had extra libaries in the command line and could not get rid of them so I edited the command line of linker. My compiler is screwy because I can't access link options.

Dave
#19
06/01/2006 (11:13 pm)
I'm having the same compiler error(s) with a freshly installed copy of VS 2003, and the DirectX9 April 2006 SDK. Does anyone have suggestions?
#20
06/16/2006 (1:01 pm)
HI Mark,

Sorry I don't get around here much anymore. My project is now in the trash can. The order of the libs is important to avoid errors. Make sure the libs are directx9 FIRST followed by SDKs and then default at least that worked for me to resolve the errors.

Dave
Page «Previous 1 2