Game Development Community

Mild Migration Problems

by Pauliver · in Torque Game Engine · 02/09/2005 (10:26 am) · 14 replies

Background: The only version of the SDK i have access to is 1.3, i have it downloaded and installed.

I was sent some source code by a man on a team im working with. It is torque SDK 1.1.2 It already has 100+ code optimizations to it, so simply starting over with 1.3 is not really an option right now [also after we get our project working i have been told we will move to TSE so there is little point to moving now.

The source he sent me was used to being compiled on a machine that runs visual studio 6, and has the 1.1.2 sdk installed on it

I'm pretty sure my error is some where between Linker errors caused by :
1) the fact that vorbis was an addition to the 1.1.2 engine and not originally part of it
2) the fact that the vc7 solution had to be migrated to visual studio.net2k3 [rather than the first .net]
3) The fact that he had to alter some stuff to get it running on his computer. so that some parts are customized for the persons i got it froms dev environment

these are the errors i get..


So basically it can't open 2 files.. However in trying to fix this i dont know where those two files are supposed to be. Any help would be great.

Paul

#1
02/09/2005 (10:28 am)
C:\Torque\frontier\engine\game\net\netTest.cc(74): error C2248: 'NetObject::Parent' : cannot access private typedef declared in class 'NetObject'
c:\Torque\frontier\engine\game\banList.cc(13): error C2248: 'SimObject::Parent' : cannot access private typedef declared in class 'SimObject'
c:\Torque\frontier\engine\audio\vorbisStream.h(26): fatal error C1083: Cannot open include file: 'codec.h': No such file or directory
c:\Torque\frontier\engine\audio\vorbisStream.h(26): fatal error C1083: Cannot open include file: 'codec.h': No such file or directory
c:\Torque\frontier\engine\audio\vorbisStream.cc(23): fatal error C1083: Cannot open include file: 'codec.h': No such file or directory
c:\Torque\frontier\engine\audio\vorbisStream.h(26): fatal error C1083: Cannot open include file: 'codec.h': No such file or directory



c:\Torque\frontier\lib\opengl2d3d\gllist.h(12): fatal error C1083: Cannot open include file: 'iostream.h': No such file or directory
c:\Torque\frontier\lib\opengl2d3d\gllist.h(12): fatal error C1083: Cannot open include file: 'iostream.h': No such file or directory
#2
02/09/2005 (1:52 pm)
Some More info..

I forgot to post this in the first round.
codec.h is located:
lib/oggvorbis/include/vorbis
it includes a file that is in:
lib/oggvorbis/include/ogg
and there are some .lib files in:
lib/oggvorbis/win32/

[lib is even level w/ my engine folder and my VC7 folder, so the path to these files from the VC7 solution = ../lib/oggvorbis/ ]

Hope someone can tell me what i need to do from here.. I have been looking but nothing i have tryed as worked.
#3
02/09/2005 (2:16 pm)
So i solved the iostream.h issue

in the upgrade from visual studio 6 (vs6) to visual studio .NET 2k3 (vs.net 2k3) microsoft decided to shaft all of us by changing what is in iostream.h [thanks for nothing microsoft] explained in depth here

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/_core_Differences_in_iostream_implementation.asp

Basically the solution [for anyone else with this problem] is to remove the .h from the iostream header, then check to see what broke. i suggest to fix whats broke you simply compare one your files to the latest release version of torque.. but it can be tedius if you have many many files.

hope that saves someone else some trouble. I'm still trying to fix the other problems however
#4
02/09/2005 (5:01 pm)
Once again fixed my own problem only to come up with another..
The solution to my linking problem is to set the path

that option is available in
Tools -> Options -> Projects -> VC++ Directories

then you use the rightmost drop down box to change from executable files to headers and libraries


Now for my current problem, when microsuck upgraded the iostream.h file [big thanks microsoft] they changed the way classes are handled. so now 4 of my class members are invalid.. any ideas?


c:\Torque\frontier\engine\game\banList.cc(13): error C2248: 'SimObject::Parent' : cannot access private typedef declared in class 'SimObject'
c:\Torque\frontier\engine\game\guiNoMouseCtrl.cc(19): error C2248: 'GuiControl::Parent' : cannot access private typedef declared in class 'GuiControl'
c:\Torque\frontier\engine\game\net\netTest.cc(74): error C2248: 'NetObject::Parent' : cannot access private typedef declared in class 'NetObject'
c:\Torque\frontier\engine\game\main.cc(71): error C2248: 'SimObject::Parent' : cannot access private typedef declared in class 'SimObject'
#5
02/09/2005 (7:30 pm)
Once again fixed my own problem only to come up with another..
The solution to my linking problem is to set the path

that option is available in
Tools -> Options -> Projects -> VC++ Directories

then you use the rightmost drop down box to change from executable files to headers and libraries


Now for my current problem, when microsuck upgraded the iostream.h file [big thanks microsoft] they changed the way classes are handled. so now 4 of my class members are invalid.. any ideas?


c:\Torque\frontier\engine\game\banList.cc(13): error C2248: 'SimObject::Parent' : cannot access private typedef declared in class 'SimObject'
c:\Torque\frontier\engine\game\guiNoMouseCtrl.cc(19): error C2248: 'GuiControl::Parent' : cannot access private typedef declared in class 'GuiControl'
c:\Torque\frontier\engine\game\net\netTest.cc(74): error C2248: 'NetObject::Parent' : cannot access private typedef declared in class 'NetObject'
c:\Torque\frontier\engine\game\main.cc(71): error C2248: 'SimObject::Parent' : cannot access private typedef declared in class 'SimObject'
#6
02/09/2005 (9:27 pm)
So i went through the code line by line compairing it to the 1.3 source that i have. I have removed the above 4 errors by doing that. but now i have 25 new ones...
#7
02/09/2005 (9:59 pm)
Jinkies. I don't know quite what's going on here - I was involved in 1.3 dev and I use VC7.1 pretty much exclusively, so I'm pretty confident it builds properly.

You are aware you can pull older versions from the CVS server?
#8
02/09/2005 (11:29 pm)
I was not aware that i could pull old version from the CVS server.

What is happening is that that version [1.1.2] was designed for visual studio .net and visual studio 6. this was before microsoft decided to change there implimentation of iostream.h and the problem i just tryed to get around, private typedef's that are inherited by dervied classes [i think they were derived classes].

Anyway with this change suddenly 4 files won't compile because (Macro's? i think they were macros i could try and find the line again if it would help) couldn't run because they didn't have access to the typedef's.

I went through and compaired this code to my 1.3 and found that the solution had been to declare the Typedef's in another place or two, so 3 or 4 declarations later i think im ready to go. Well i compile and while it compiles fine the linking goes to hell [which does make some sence as i did change things, however all i did was add data so im suprised it did that]

What would be ideal is the changes that 1.1.2 went through in order to be able to be compiled by VS.net 2k3. I solved the vorbis issue already and the remaining problems were all direct results of changes microsoft made to the language.
#9
02/10/2005 (12:58 pm)
So getting the old source from a CVS resource is a bust. I downloaded the latest version of WinCVS and followed the resources that are available on this website and for some reason it wont accept my password.
#10
02/11/2005 (7:38 am)
Did the output window give you any warnings. I wrote my own doc when I first got WinCVs up and running. Here's a copy of the section to configure WinCVS. Some of this you may have already done but maybe you missed something.

4) Configure WinCVS
4.1) Preferences
- Select Admin->Preferences (Ctrl-F1) from the menu bar at the top
- Click the Globals tab
- Check the Use Compression check box and set the compression number to 3. To help reduce bandwidth usage, the GarageGames CVS server requires that all CVS operations be compressed. The higher the number, the higher the compression, but the more CPU load on the GarageGames server. GarageGames highly recommends a value of 3. The server will abort connections that do not have compression set.

Other optional but useful settings include:
a. Read-Only check box which will checkout the CVS files and set them to read-only.
b. Prune Empty Directories check box which will remove directories that you've downloaded from cvs which are now empty.
- Click the OK button to complete the setup

4.2) Login
- Select Admin->Command Line from the menu
- Check the CVSROOT box and click the elipses (...) button
- From the protocol dropdown list choose pserver
- Enter /cvs/torque for the Repository path
- Enter your GarageGames website login name for the username
- Enter cvs.garagegames.com for the hostname
- Click OK and enter the GarageGames website password for the above username when asked
- If this is the first time you've run WinCVS you will be asked for a Home Directory. This directory is where WinCVS will store your login and password information so that it doesn't have to be entered every time WinCVS is run. If you don't have a specific home directory, simply press OK.
- If your login and password are accepted, the output status window will display the following line:
**** CVS exited normally with code 0*****
- If your login or password are rejected, the output status window will display the following line:
**** CVS exited normally with code 1*****

4.3) Checkout
- Once you've successfully logged in, select the Remote -> Checkout Module menu bar option. The Checkout Settings dialog box will appear.
- In the Enter the module name field, enter the name: torque
- Then select the local destination project folder in the local folder to checkout to field. This is the folder into which the SDK will be downloaded. Please do not enter a name with spaces in it, this will cause problems with the build process.
- Click the elipses button and enter the login information again as in step 4.2
- Once the checkout is complete the SDK will be located in the \torque directory. You are now ready to select which verison of the SDK you wish to checkout. You can either obtain the latest HEAD(possibly unstable) version of the code under development, or you can specify a specific version using the tag listed in the Version Tags section. If you do not specify a tag, the default is the latest HEAD revision. The HEAD revision may not compile or execute correctly and we strongly recommend you use one of the stable tags.
- To obtain a specific version of the SDK using a tag, select the Checkout Options tab of the dialog box. Check the By revision/tag/branch check box and enter one of the tags in the field.
#11
02/11/2005 (9:05 am)
I went through all those steps and get

**** CVS exited normally with code 1*****

the password is correct. i purchased torque mid January [maybe they didn't enter my data into the CVS user-management whatever?]

I'll try this again later in case i missed a step. but im sure i didn't...
#12
02/15/2005 (1:40 pm)
Does anyone know how to upgrade 1.1.2 to the .net 2k3 compiler?
#13
02/19/2005 (4:45 pm)
Good luck with that. 1.1.2 is officially no longer supported by GG. :(
#14
03/07/2005 (7:57 pm)
For anyone with these same problems the solution is to dig out version 1 of vs.net [2002 NOT 2003] and install that

then make sure that all the files added are also part of the solution.

and you need to change your library settings [make sure your linking against the correct libraries]


and remove teh default library if you get that error..