Game Development Community

TNL 1.5.0 compilation with MS Visual C++ 6

by Michael · in Torque Game Engine · 03/21/2005 (8:00 am) · 16 replies

Dear all,

I have downloaded the source of TNL version 1.5.0. Unfortunately, there is only a solution file for .NET 2003 and I have MS Visual C++ 6.0 and .NET 2002. After the readme file there has to be a workspace for MS Visual C++ 6.0 too, which is the case for the version 1.4.0.

Has the workspace for MS Visual C++ 6.0 been removed in the latest version?

Thank you very much for the help.

Best wishes,
Michael

About the author

Recent Threads


#1
03/21/2005 (8:31 am)
Hey Michael,

Support for VC 6.0 was dropped in TNL 1.5.0 due to its mishandling of templates -- the new RPC functionality will not build on VC6. It should build on .NET 2002, however.
#2
03/21/2005 (9:06 am)
Hi,

Thank you very much for your answer. Yes, I know from other projects that used templates that VC++ 6 is not the best choice.

As there is only a solution for .NET 2003 would the compilation under .NET (with a .NET 2002 generated project) requires a lot of efforts or not? I have had some bad experiences with other similar cases.

Thank you very much.

Best wishes,
Michael
#3
03/21/2005 (9:31 am)
I don't have .net 2002, so I'm not sure -- let me know if you run into problems.
#4
03/21/2005 (9:38 am)
Ok, I will give it a try and post my results on the list.

Thank you for the help.

Best wishes,
Michael
#5
03/21/2005 (12:13 pm)
I would very strongly suggest upgrading to 2003 if you can - it is VASTLY improved from 2002. :)
#6
03/22/2005 (12:26 am)
Hello,

Unfortunately, it does not depend on me, but on my university. I am trying since months already to have an upgrade.

I have done a fast test yesterday to port TNL to .NET 2002, but I was so far not successful, especially in compiling the C library libtomcrypt. Anyway, I will continue and I think that it should be possible at the end.

Best wishes,
Michael
#7
03/22/2005 (6:34 am)
Hello,

I have spoken to early. I have tried to port TNL 1.5.0 to .NET without success. What it works is to take version 1.4.0 and convert the workspace file and project files of the MS VC++ 6.0 to .NET 2002. This work fine. But if I try to generate a new project by myself it does not work.

I have tried to extend and adapt the old workspace and project files for MS Visual C++ to version 1.5.0, but still without success. Too much problems. I correct one error to get 20 more. Anyway, it is possible that I miss something which is the cause of the errors I get.

May be I will try later, when I will have more free time.

Best wishes,
Michael
#8
03/22/2005 (7:56 am)
Which library do you get errors in? One gotcha you might see is that not all the libtomcrypt files should be included in the project (ie, they are included from other .c files) -- so just taking the offending files out of the project should fix it.
#9
03/22/2005 (9:33 am)
Hello,

I get errors in the libtomcrypt library (40 errors, see below). I have tred to correct some of them by including files of the tnl project, but without any luck. for one error solved, 10 new produced.

Compiling...
ecc_sys.c
c:\Programme\DANAE\VC6\openTNL\libtomcrypt\ecc_sys.c(6) : error C2143: syntax error : missing ')' before '*'
c:\Programme\DANAE\VC6\openTNL\libtomcrypt\ecc_sys.c(6) : error C2081: 'prng_state' : name in formal parameter list illegal
c:\Programme\DANAE\VC6\openTNL\libtomcrypt\ecc_sys.c(6) : error C2143: syntax error : missing '{' before '*'
c:\Programme\DANAE\VC6\openTNL\libtomcrypt\ecc_sys.c(6) : error C2059: syntax error : 'type'
c:\Programme\DANAE\VC6\openTNL\libtomcrypt\ecc_sys.c(7) : error C2059: syntax error : ')'
c:\Programme\DANAE\VC6\openTNL\libtomcrypt\ecc_sys.c(99) : error C2143: syntax error : missing ')' before '*'
c:\Programme\DANAE\VC6\openTNL\libtomcrypt\ecc_sys.c(99) : error C2081: 'ecc_key' : name in formal parameter list illegal
c:\Programme\DANAE\VC6\openTNL\libtomcrypt\ecc_sys.c(99) : error C2143: syntax error : missing '{' before '*'
c:\Programme\DANAE\VC6\openTNL\libtomcrypt\ecc_sys.c(99) : error C2059: syntax error : ')'
c:\Programme\DANAE\VC6\openTNL\libtomcrypt\ecc_sys.c(100) : error C2054: expected '(' to follow 'key'
c:\Programme\DANAE\VC6\openTNL\libtomcrypt\ecc_sys.c(195) : error C2143: syntax error : missing ')' before '*'
c:\Programme\DANAE\VC6\openTNL\libtomcrypt\ecc_sys.c(195) : error C2081: 'prng_state' : name in formal parameter list illegal
c:\Programme\DANAE\VC6\openTNL\libtomcrypt\ecc_sys.c(195) : error C2143: syntax error : missing '{' before '*'
c:\Programme\DANAE\VC6\openTNL\libtomcrypt\ecc_sys.c(195) : error C2059: syntax error : 'type'
c:\Programme\DANAE\VC6\openTNL\libtomcrypt\ecc_sys.c(195) : error C2059: syntax error : ')'
c:\Programme\DANAE\VC6\openTNL\libtomcrypt\ecc_sys.c(315) : error C2143: syntax error : missing ')' before '*'
c:\Programme\DANAE\VC6\openTNL\libtomcrypt\ecc_sys.c(315) : error C2081: 'ecc_key' : name in formal parameter list illegal
c:\Programme\DANAE\VC6\openTNL\libtomcrypt\ecc_sys.c(315) : error C2143: syntax error : missing '{' before '*'
c:\Programme\DANAE\VC6\openTNL\libtomcrypt\ecc_sys.c(315) : error C2059: syntax error : ')'
c:\Programme\DANAE\VC6\openTNL\libtomcrypt\ecc_sys.c(316) : error C2054: expected '(' to follow 'key'
dh_sys.c
c:\Programme\DANAE\VC6\openTNL\libtomcrypt\dh_sys.c(6) : error C2143: syntax error : missing ')' before '*'
c:\Programme\DANAE\VC6\openTNL\libtomcrypt\dh_sys.c(6) : error C2081: 'prng_state' : name in formal parameter list illegal
c:\Programme\DANAE\VC6\openTNL\libtomcrypt\dh_sys.c(6) : error C2143: syntax error : missing '{' before '*'
c:\Programme\DANAE\VC6\openTNL\libtomcrypt\dh_sys.c(6) : error C2059: syntax error : 'type'
c:\Programme\DANAE\VC6\openTNL\libtomcrypt\dh_sys.c(7) : error C2059: syntax error : ')'
c:\Programme\DANAE\VC6\openTNL\libtomcrypt\dh_sys.c(101) : error C2143: syntax error : missing ')' before '*'
c:\Programme\DANAE\VC6\openTNL\libtomcrypt\dh_sys.c(101) : error C2081: 'dh_key' : name in formal parameter list illegal
c:\Programme\DANAE\VC6\openTNL\libtomcrypt\dh_sys.c(101) : error C2143: syntax error : missing '{' before '*'
c:\Programme\DANAE\VC6\openTNL\libtomcrypt\dh_sys.c(101) : error C2059: syntax error : ')'
c:\Programme\DANAE\VC6\openTNL\libtomcrypt\dh_sys.c(102) : error C2054: expected '(' to follow 'key'
c:\Programme\DANAE\VC6\openTNL\libtomcrypt\dh_sys.c(220) : error C2143: syntax error : missing ')' before '*'
c:\Programme\DANAE\VC6\openTNL\libtomcrypt\dh_sys.c(220) : error C2081: 'prng_state' : name in formal parameter list illegal
c:\Programme\DANAE\VC6\openTNL\libtomcrypt\dh_sys.c(220) : error C2143: syntax error : missing '{' before '*'
...and so on...

libtomcrypt - 40 error(s), 0 warning(s)

Best wishes,
Michael
#10
03/22/2005 (10:41 am)
Just remove any file from the project that has errors -- don't try to fix them.
#11
03/22/2005 (11:48 am)
I believe there is a service pack for visual studio .net 2002. Try installing it and see if that can fix some problems.

www.microsoft.com/downloads/details.aspx?familyid=c41d8159-b42f-4d06-a797-e51049...
#12
03/23/2005 (12:21 am)
Ok, thank you for you help.

Does TNL 1.5.0 compiles fine with the given workspace and projects files? May be, I have simply forgotten to set some options correctly. In fact, I could compile version 1.4.0 only with the given projects files and not with the ones that I have generated by myself.

Yes, I have tried to download the service pack for .NET 2002, but I have discovered that I need the .NET CDs. So, I will have to postpone the installation at the nend of the week, when coming baclk from my working trip.

Best wishes,
Michael
#13
03/25/2005 (4:34 pm)
Hello,

I have updated to .NET 2003 and all work fine now (latest version), despite some warnings.

Best wishes,
Michael
#14
05/11/2005 (5:14 am)
Are there any solutions to get TNL compile on VC6?

I do not want .net on my computer, so if someone have any solution or links on the internet i would
here from you.!
#15
05/11/2005 (5:50 am)
GG dropped support for vc6 due to template issues with the vc6 C++ compiler, as Mark said earlier in the thread : you're on your own if you want to rewrite them to support vc6, and you'll have to #ifdef your changes if you want to be able to still compile your code when you upgrade, as some of the nasty things you have to do to get templates working in vc6 won't work in more standards compliant compilers. I know, I had to deal with it the hard way with a live codebase last year :)
#16
05/12/2005 (5:53 pm)
If you don't want .net, get GCC and use that. It works great on windows and is one of the supported compilers for TNL.