Game Development Community

Building TSE problems with TBE and VC6

by Vincent BILLET · in Torque Game Engine Advanced · 08/18/2005 (6:47 am) · 9 replies

I've just downloaded TSE from HEAD, and naturally I tried to build it.

For Building Torque Shader Engine I wanted to use Torque Build Environment. So I modified makefiles following www.garagegames.com/mg/forums/result.thread.php?qt=26448 and it doesn't work... Why?

I tried to reinstall My old VC6... And the result is Waoohhh... not better... :( Why ?

My last Try with VC give me :
d3dx9.lib(jcdctmgr.obj) : error LNK2001: unresolved external symbol ___security_cookie
d3dx9.lib(trees.obj) : error LNK2001: unresolved external symbol ___security_cookie
d3dx9.lib(cshaderprogram.obj) : error LNK2001: unresolved external symbol ___security_cookie
d3dx9.lib(jdcoefct.obj) : error LNK2001: unresolved external symbol ___security_cookie
d3dx9.lib(jdhuff.obj) : error LNK2001: unresolved external symbol ___security_cookie
d3dx9.lib(jchuff.obj) : error LNK2001: unresolved external symbol ___security_cookie
d3dx9.lib(cvsprogram.obj) : error LNK2001: unresolved external symbol ___security_cookie
etc...

EDIT : I copied lib files from october extras in DXSDK\lib and this does not fix the prob

#1
08/18/2005 (12:19 pm)
DirectX 9 does not support VC6 as of the latest SDK releases. The simple fix is to upgrade to VC7.1 or 2005 (which is free).
#2
08/18/2005 (12:30 pm)
Or use the earlier DirectX SDK releases like everyone else does, I believe.
#3
08/18/2005 (12:32 pm)
Quote:Or use the earlier DirectX SDK releases like everyone else does, I believe.

While this works currently, it's not a good idea: as of milestone 2, TSE-EA no longer supports VC6/earlier DirectX SDK releases, and you cannot count on this solution working in the long term.
#4
08/18/2005 (12:42 pm)
And I downloaded October release of SDK and the extras... Unfortunately it does not work...

For 2005 : I have a strange prob : "windows.h" : file not found !!!!!
Any Ideas?
#5
08/18/2005 (1:08 pm)
The other thing to keep in mind is that the targets.torque.mk list is not kept up to speed for TSE, but is required to be accurate for the TBE build process. You are going to need to go through and make sure that every file included in the VC project file is accurately represented in the TBE build process.

FYI, TBE was not ever intended as a build solution for TSE, so this isn't an area we really recommend you go.
#6
08/19/2005 (12:46 am)
You use Visual C++ 2005 Express Edition, right? Then you need the Platform SDK. Its not included as it is a huge download (about 400MB)
even then you need to tweak stuff in your IDE to get it to work (like adding the Paths by hand and such)

we already had this case before

www.garagegames.com/mg/forums/result.thread.php?qt=31271

in the end he bought Visual C++ .NET 2003

i think it should be possible to
#7
08/19/2005 (1:41 am)
I Downloaded C++ Express Edition 2005 effectively. Then I Downloaded Platform SDK. I copied .h and .lib files from platform SDK To C++ Express Edition 2005 folders (I know It's very dirty ;) ) . Finaly I had to adjusted project Properties -> Linker -> Command Line as follow :
/NODEFAULTLIB:"LIBCMTD" /NODEFAULTLIB:"LIBCMT" oleaut32.lib ole32.lib d3d9.lib dxerr9.lib d3dx9.lib

And TSE Get compiled and builded !

Thanks to every people who help me to find this solution.

(I will Try later a less dirty solution :) )
#8
08/19/2005 (3:14 am)
As for a cleaner solution you could try this:

you need to edit the Platform SDK "setenv.cmd" so that i also includes the paths to DX libs and headers

set your build environment by calling setenv.cmd and then start visual studio from the command prompt with /USEENV (for some reason Visual Studio just overrides the paths with its own paths if you dont do that).

i think the correct command is "msdev.exe /USEENV"

i know that it works with Visual Studio 2003 as i compiled for x64 targets with that

in most cases you will find notes about doing this with x64 targets but you can specify an 32 Bit target machine also.


btw. you cant compile TSE to 64 Bit yet because of the assambler code and maybe some issue with changed or deprecated functions.
#9
08/19/2005 (7:03 am)
Thanks Florian, I Will Try It later.