Build issue on opengl2d3d
by Anthony Lovell · in Torque Game Engine · 01/08/2003 (7:07 am) · 11 replies
Right now, my effort to build the demo runs into issues surrounding "opengl2d3d". A shortened version of the error log is:
--------------------Configuration: opengl2d3d - Win32 Release--------------------
Linking...
LINK : warning LNK4001: no object files specified; libraries used
LINK : warning LNK4001: no object files specified; libraries used
Creating library ../lib/out.VC6.RELEASE/opengl2d3d.lib and object ../lib/out.VC6.RELEASE/opengl2d3d.exp
LINK : error LNK2001: unresolved external symbol __DllMainCRTStartup@12
opengl2d3d.exp : error LNK2001: unresolved external symbol _glAccum@8
opengl2d3d.exp : error LNK2001: unresolved external symbol _glActiveTextureARB@4
opengl2d3d.exp : error LNK2001: unresolved external symbol _glAllocateVertexBufferEXT@12
opengl2d3d.exp : error LNK2001: unresolved external symbol _glAlphaFunc@8
opengl2d3d.exp : error LNK2001: unresolved external symbol _glAreTexturesResident@12
opengl2d3d.exp : error LNK2001: unresolved external symbol _glArrayElement@4
opengl2d3d.exp : error LNK2001: unresolved external symbol _glAvailableVertexBufferEXT@0
opengl2d3d.exp : error LNK2001: unresolved external symbol _glBegin@4
opengl2d3d.exp : error LNK2001: unresolved external symbol _glBindTexture@8
opengl2d3d.exp : error LNK2001: unresolved external symbol _glBitmap@28
opengl2d3d.exp : error LNK2001: unresolved external symbol _glBlendFunc@8
opengl2d3d.exp : error LNK2001: unresolved external symbol _glCallList@4
opengl2d3d.exp : error LNK2001: unresolved external symbol _glCallLists@12
opengl2d3d.exp : error LNK2001: unresolved external symbol _glClear@4
opengl2d3d.exp : error LNK2001: unresolved external symbol _glClearAccum@16
opengl2d3d.exp : error LNK2001: unresolved external symbol _glClearColor@16
opengl2d3d.exp : error LNK2001: unresolved external symbol _glClearDepth@8
opengl2d3d.exp : error LNK2001: unresolved external symbol _glClearIndex@4
opengl2d3d.exp : error LNK2001: unresolved external symbol _glClearStencil@4
opengl2d3d.exp : error LNK2001: unresolved external symbol _glClientActiveTextureARB@4
opengl2d3d.exp : error LNK2001: unresolved external symbol _glClipPlane@8
.......
opengl2d3d.exp : error LNK2001: unresolved external symbol _wglGetDefaultProcAddress@0
opengl2d3d.exp : error LNK2001: unresolved external symbol _wglGetPixelFormat@4
opengl2d3d.exp : error LNK2001: unresolved external symbol _wglSetPixelFormat@12
opengl2d3d.exp : error LNK2001: unresolved external symbol _wglSwapBuffers@4
../example/opengl2d3d.dll : fatal error LNK1120: 378 unresolved externals
Error executing link.exe.
torqueDemo.exe - 379 error(s), 3 warning(s)
Any insights as to what is out of kilter would be great!
tone
--------------------Configuration: opengl2d3d - Win32 Release--------------------
Linking...
LINK : warning LNK4001: no object files specified; libraries used
LINK : warning LNK4001: no object files specified; libraries used
Creating library ../lib/out.VC6.RELEASE/opengl2d3d.lib and object ../lib/out.VC6.RELEASE/opengl2d3d.exp
LINK : error LNK2001: unresolved external symbol __DllMainCRTStartup@12
opengl2d3d.exp : error LNK2001: unresolved external symbol _glAccum@8
opengl2d3d.exp : error LNK2001: unresolved external symbol _glActiveTextureARB@4
opengl2d3d.exp : error LNK2001: unresolved external symbol _glAllocateVertexBufferEXT@12
opengl2d3d.exp : error LNK2001: unresolved external symbol _glAlphaFunc@8
opengl2d3d.exp : error LNK2001: unresolved external symbol _glAreTexturesResident@12
opengl2d3d.exp : error LNK2001: unresolved external symbol _glArrayElement@4
opengl2d3d.exp : error LNK2001: unresolved external symbol _glAvailableVertexBufferEXT@0
opengl2d3d.exp : error LNK2001: unresolved external symbol _glBegin@4
opengl2d3d.exp : error LNK2001: unresolved external symbol _glBindTexture@8
opengl2d3d.exp : error LNK2001: unresolved external symbol _glBitmap@28
opengl2d3d.exp : error LNK2001: unresolved external symbol _glBlendFunc@8
opengl2d3d.exp : error LNK2001: unresolved external symbol _glCallList@4
opengl2d3d.exp : error LNK2001: unresolved external symbol _glCallLists@12
opengl2d3d.exp : error LNK2001: unresolved external symbol _glClear@4
opengl2d3d.exp : error LNK2001: unresolved external symbol _glClearAccum@16
opengl2d3d.exp : error LNK2001: unresolved external symbol _glClearColor@16
opengl2d3d.exp : error LNK2001: unresolved external symbol _glClearDepth@8
opengl2d3d.exp : error LNK2001: unresolved external symbol _glClearIndex@4
opengl2d3d.exp : error LNK2001: unresolved external symbol _glClearStencil@4
opengl2d3d.exp : error LNK2001: unresolved external symbol _glClientActiveTextureARB@4
opengl2d3d.exp : error LNK2001: unresolved external symbol _glClipPlane@8
.......
opengl2d3d.exp : error LNK2001: unresolved external symbol _wglGetDefaultProcAddress@0
opengl2d3d.exp : error LNK2001: unresolved external symbol _wglGetPixelFormat@4
opengl2d3d.exp : error LNK2001: unresolved external symbol _wglSetPixelFormat@12
opengl2d3d.exp : error LNK2001: unresolved external symbol _wglSwapBuffers@4
../example/opengl2d3d.dll : fatal error LNK1120: 378 unresolved externals
Error executing link.exe.
torqueDemo.exe - 379 error(s), 3 warning(s)
Any insights as to what is out of kilter would be great!
tone
#2
By "Torque SDK" do you mean "Torque Lib"? If so, that is already built.
Right now, I am wrestling with the assign() issues in DTSShape.cpp. I saw that I could add the typename() of the items stored in each vector as a second parameter to fix this, but this does not work for vectors of native types (e.g.: vector) ... does anyone know the proper equivalent for those cases?
tone
01/08/2003 (8:03 am)
I am trying to compile the Demo (release) under Vs7.By "Torque SDK" do you mean "Torque Lib"? If so, that is already built.
Right now, I am wrestling with the assign() issues in DTSShape.cpp. I saw that I could add the typename() of the items stored in each vector as a second parameter to fix this, but this does not work for vectors of native types (e.g.: vector
tone
#3
If you have the sdk workspace opened, you should see all the projects listed, not just torque demo. Make sure you build them all. (Tools aren't required though)
01/08/2003 (8:22 am)
Torque sdk is different that Torque lib. For your first build, you _must_ compile the sdk in order to get all the dll's. It looks like you havent yet built the opengl libraries yet.If you have the sdk workspace opened, you should see all the projects listed, not just torque demo. Make sure you build them all. (Tools aren't required though)
#4
types use resize.
and as stated already, it is required (not optional) that you build the SDK project before you move to the less source intensive/compile time Demo.
-Ron
01/08/2003 (9:11 am)
for the vectorand as stated already, it is required (not optional) that you build the SDK project before you move to the less source intensive/compile time Demo.
-Ron
#5
in the vc6 folder, you have the Torque Demo project, the torque lib project, and that's it for projects with torque in their name..
the only one with TorqueSDK is the workspace, and you can't build that ;)
I just can't understand what you guys are trying to say...
Btw, you can safely removel the opengl2d3d and glu2d3d, if they're only wha't stopping you from enjoying a succesful build : they are the DirectX wrapper, so if you don't need it because your vidcard has good OpenGL support, remove both the shortcuts from the TorqueDemo project.
I don't use them, but then, i do crossplatform, so I don't care for DirectX in Torque (no, this is not a OpenGL vs Direct X statement)
Keep at it, the effort is well worth the results :)
01/08/2003 (9:31 am)
Correct me if i'm wrong, but I've never seen such a beast as the SDK project in Torque : in the vc6 folder, you have the Torque Demo project, the torque lib project, and that's it for projects with torque in their name..
the only one with TorqueSDK is the workspace, and you can't build that ;)
I just can't understand what you guys are trying to say...
Btw, you can safely removel the opengl2d3d and glu2d3d, if they're only wha't stopping you from enjoying a succesful build : they are the DirectX wrapper, so if you don't need it because your vidcard has good OpenGL support, remove both the shortcuts from the TorqueDemo project.
I don't use them, but then, i do crossplatform, so I don't care for DirectX in Torque (no, this is not a OpenGL vs Direct X statement)
Keep at it, the effort is well worth the results :)
#6
Others will say add the /lib/ directory into your VC6 "Options" "Lib" Include" directory.
I believe both is what I did to fix the problem. As a note you should never have to change anything to get the source to compile right out of the box. Once you have whatever problem (VC6 isnt picking up the /lib/ folder by default for some reasion) then you will have your problem fixed.
01/08/2003 (9:59 am)
I had the same problem as above once. Couldnt remember what I did to fix it. Some people will point you to use the .reg file that is in the vc6 directory then restart your pc.Others will say add the /lib/ directory into your VC6 "Options" "Lib" Include" directory.
I believe both is what I did to fix the problem. As a note you should never have to change anything to get the source to compile right out of the box. Once you have whatever problem (VC6 isnt picking up the /lib/ folder by default for some reasion) then you will have your problem fixed.
#7
-Ron
01/08/2003 (10:12 am)
simple, just open the Torque SDK.dsw workspace, which will load all the required .dsp (project) files. Once you have opened the dsw just press F7 and go take a smoke/coffe/coke break.-Ron
#8
Yes, I am using the DSW file, but was fixated on the project names.
To consolidate in one place the answers that have been so helpful:
1. Run the .reg file in torque\vc6
2. Restart Visual Studio
3. If using VS7 (.NET), edit max.h (there are 2 files named this) and comment out the include of ctl3d.h.
4. In the dtsSDK project, you will find that a number of assign() calls on various vectors fail as they expect 2 parameters and receive only one. Change those that store classes to have a second parameter expressing the type of object being stored: myMeshesInAVector.assign(someIntValue, Mesh()); ... NB: Point3D should become Point() and Point2D remains as Point2D()
5. akin to #4, a few vectors store primitives (char, float, int, etc). For these, change it so that resize(myIntValue) is used in lieu of assign(myIntValue);
6. Cross your fingers and hit F7
01/08/2003 (11:02 am)
Thanks for the tip re: resize() vs assign()Yes, I am using the DSW file, but was fixated on the project names.
To consolidate in one place the answers that have been so helpful:
1. Run the .reg file in torque\vc6
2. Restart Visual Studio
3. If using VS7 (.NET), edit max.h (there are 2 files named this) and comment out the include of ctl3d.h.
4. In the dtsSDK project, you will find that a number of assign() calls on various vectors fail as they expect 2 parameters and receive only one. Change those that store classes to have a second parameter expressing the type of object being stored: myMeshesInAVector.assign(someIntValue, Mesh()); ... NB: Point3D should become Point() and Point2D remains as Point2D()
5. akin to #4, a few vectors store primitives (char, float, int, etc). For these, change it so that resize(myIntValue) is used in lieu of assign(myIntValue);
6. Cross your fingers and hit F7
#9
I should have realized that's what you meant, silly me ;)
thanks for the clarification Ron (and good luck with the academic adventure)
01/08/2003 (1:49 pm)
Oh, I see. duh !! 8pI should have realized that's what you meant, silly me ;)
thanks for the clarification Ron (and good luck with the academic adventure)
#10
05/01/2003 (1:43 pm)
I had similiar problem today, after that my windows2000 profile got corrupted. I run the patch and the problem was solved.
#11
08/01/2005 (1:27 pm)
The .reg file in the VC6 directory fixed it for me. I don't know what it did, though :)
Associate Ron Yacketta
-Ron