• Advertisement

Archived

This topic is now archived and is closed to further replies.

Device/Direct3D Error

This topic is 6050 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hey All, I have been looking at the RPGQuest Server and Client Code and I am having some difficulties getting the Client to run. The server runs great, but the client is failing with a device error and then a Direct3d Error. I believe that the error is resulting from the following line of code: hResult = pD3D->CreateDevice( g_dwAdapter, pDeviceInfo->DeviceType, hWnd, pModeInfo->dwBehavior, &d3dpp, &pd3dDevice ); I have tried to debug the code, but when I compile the program, I get about 30 errors (like such) Linking... dxutil.obj : error LNK2001: unresolved external symbol __imp__timeGetTime@0 RPGQuest.obj : error LNK2001: unresolved external symbol __imp__timeGetTime@0 Object3DClass.obj : error LNK2001: unresolved external symbol _D3DXCreateTextureFromFileA@12 Object3DClass.obj : error LNK2001: unresolved external symbol _D3DXLoadMeshFromX@28 Object3DClass.obj : error LNK2001: unresolved external symbol _D3DXMatrixRotationZ@8 Object3DClass.obj : error LNK2001: unresolved external symbol _D3DXMatrixRotationY@8 RPGQuest.obj : error LNK2001: unresolved external symbol _D3DXMatrixRotationY@8 Object3DClass.obj : error LNK2001: unresolved external symbol _D3DXMatrixMultiply@12 RPGQuest.obj : error LNK2001: unresolved external symbol _D3DXMatrixMultiply@12 Object3DClass.obj : error LNK2001: unresolved external symbol _D3DXMatrixRotationX@8 RPGQuest.obj : error LNK2001: unresolved external symbol _Direct3DCreate8@4 RPGQuest.obj : error LNK2001: unresolved external symbol _D3DXMatrixLookAtLH@16 RPGQuest.obj : error LNK2001: unresolved external symbol _D3DXCreateFont@12 RPGQuest.obj : error LNK2001: unresolved external symbol _D3DXMatrixPerspectiveFovLH@20 RPGQuest.obj : error LNK2001: unresolved external symbol _CLSID_DP8SP_TCPIP RPGQuest.obj : error LNK2001: unresolved external symbol _CLSID_DirectPlay8Address RPGQuest.obj : error LNK2001: unresolved external symbol _IID_IDirectPlay8Address RPGQuest.obj : error LNK2001: unresolved external symbol _CLSID_DirectPlay8Client RPGQuest.obj : error LNK2001: unresolved external symbol _IID_IDirectPlay8Client RPGQuest.obj : error LNK2001: unresolved external symbol _DirectInput8Create@20 RPGQuest.obj : error LNK2001: unresolved external symbol _IID_IDirectInput8A RPGQuest.obj : error LNK2001: unresolved external symbol _c_dfDIKeyboard RPGQuest.obj : error LNK2001: unresolved external symbol _GUID_SysKeyboard SoundSystem.obj : error LNK2001: unresolved external symbol _CLSID_DirectMusicPerformance SoundSystem.obj : error LNK2001: unresolved external symbol _IID_IDirectMusicPerformance8 SoundSystem.obj : error LNK2001: unresolved external symbol _CLSID_DirectMusicLoader SoundSystem.obj : error LNK2001: unresolved external symbol _IID_IDirectMusicLoader8 SoundSystem.obj : error LNK2001: unresolved external symbol _CLSID_DirectMusicSegment SoundSystem.obj : error LNK2001: unresolved external symbol _IID_IDirectMusicSegment8 Debug/RPGQuest.exe : fatal error LNK1120: 26 unresolved externals Error executing link.exe. So, any ideas why I am getting these two errors. Also, I couldn''t get the DirectX SKD on the disk to install, so I had to download a partial version from microsoft, I installed the directx sdk for vc++ version 8.0 Comments welcome! Thanks, Joe

Share this post


Link to post
Share on other sites
Advertisement
''Unresolved external symbol'' errors are generally caused by not linking to the correct libraries. Make sure that in your project''s link options ,you are linking to the DX and D3D libs (d3dx.lib? I''m not exactly sure).

~~~~~~~~~~
Martee

Share this post


Link to post
Share on other sites
Okay, Solved the linker problem with the timeGettime (winmm.lib) and the directx lib''s but I am still getting the Device/Direct3D Errors (two total)!

Thanks and sorry for the double post!

joe

Share this post


Link to post
Share on other sites
Which errors are you getting now? Also, what is wrong with the SDK on the CD? Is it faulty? I would like to know if I need to call my publisher.

Thanks!

LostLogic
www.lostlogic.com
Author, Multiplayer Game Programming

Share this post


Link to post
Share on other sites
On the SDk installation, the only thing that it does is install the runtime version and create a few directories in the default mssdk directory, none of the supporting sdk files are installed. I followed the directions that you gave in the text (although I am experienced with the directx installation).

As far as the errors, once I was able to compile the debug version, I began debugging at the point that I received the error, all the variables are being passed in.

So, I changed my screen resolution from 1024x768 32 to 1024x768 24 & 16. Still received the Device Error and Direct3d Error.

So I changed my screen resolution to 800x600 16 and I received an adapter error.

So, I am open to ideas.


Thanks,


Joe

Edited by - jljones on July 17, 2001 9:28:51 AM

Share this post


Link to post
Share on other sites
Hmm, I''m not into C++, but hResult returns the error, maybe you can check the error number in the SDK docs. For example, you could get a "device unavailable" or an "not supported" error. Might help you a bit.

Share this post


Link to post
Share on other sites
jljones,

Sorry for the delayed response.. Anyway, please email me your system configuration:

1. Video Card (make, model, manufacturer)
2. Video driver rev.
3. Other hardware in your system (tv tuner, cd-burner, etc.)
4. Operating System

Have you tried running the game in fullscreen mode? You have the change the header file to set windowed to false.

Send me the above information and we can work on this some more.

Thanks!

LostLogic
www.lostlogic.com
Author, Multiplayer Game Programming

Share this post


Link to post
Share on other sites
Will do, I will get that information together for you.

Also, I will try fullscreen and see if that helps!

Thanks for the suggestion.

Joe

Share this post


Link to post
Share on other sites
Sorry it took me so long to respond, I had a problem getting to the forum and I have been busy working on my game projects. But, I did want to let you know that I finally got the program to work. This is what I had to do:
1. Loaded the runtime DirectX version 8.0a
2. Reloaded my graphics drivers
3. Change my screen resolution from 1024x768 32 to 800x600 16.

My fps was about 10 but I did manage to see the program connect to the server and the server accept the connection.

My specifics on my systems is as follows:
Compaq Presario 4680, 64MB Ram, ATI RAGE PRO w/4MB, 333 MHz with MMX, CD-R/W, DVD/CD-ROM, and Win98.

Nothing special.

Thanks for your help!

Joe

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Greets. I''ve had the same problems with the code. It runs the client fine the first time through. Then if I attempt to re-load the client then it gives me a Direct3D Initialization error and I get this error not only when running the client but any subsequent Direct3D program.

Leads me to believe it''s in the cleanup code. Gonna take a longer look at it tonight. Just figured I''d throw that tidbit in.

Share this post


Link to post
Share on other sites
Anonymous: How are you exiting the program? Are you hitting the ESC key or clicking on the X?

Try the opposite of what you are doing to exit the program and see if the problem persists. I have seen this problem on one video card before and would like you to send me your system specs. Also, let me know if changing the way you exit fixes it.

LostLogic
www.lostlogic.com
Author, Multiplayer Game Programming

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
I''ve tried both ways. Originally hitting the close window(x) then using escape. It happens either way. I just downloaded the latest Detonator drivers and problem still persists.

System specs are:

P3-933
256 megs of ram
GeForce2 AGP 32 megs
Windows 98

I have the latest version of DirectX8 SDK installed. I did not try the one off the CD because someone said it had an error. I would have tried it just for debugging reasons but did not for that reason. I do have the latest version of it installed however.

I looked through the vcleanup() code but couldn''t find what was causing the problem or if it is in fact a cleanup problem. I just assumed it was initially because everything runs fine the first time through but then if I attempt to access the DirectDraw driver on any other software(or re-run the client) I receive the error. The error is No Direct3D device. So it seems as if it''s locked in use.

I also tried runnign it in both full screen and windowed mode.

If I figure anything out I''ll let you know.

Share this post


Link to post
Share on other sites

  • Advertisement