DirectX 8 SDK Library link problem
I have a problem similar to that shown on the
Raxvan thread and reply from
Ursus Zeta, I have loaded DirectX 8 SDK from a disk included in the book 'The Zen of Direct3D Game programming' (must update to Ver 9 soon) I have linked the library files dxguid.lib, d3d8.lib, d3dx8.lib & xinmm.lib to a Visual Studio6 C++ win32 project but cannot get the project to compile because the last three library files will not OPEN (I think they have been found).
My OS is WindowsXP professional, I can open the library files if I double click on them directly, shown in an instance of VS C++. Is this an XP security issue or what can I do to get my project to open these library files?
Thanks for any help given.
Make sure that the include and lib locations
are at the top of the path stack in the IDE
settings. Also be aware that DX9 past Dec.
04 no longer supports VS 6.
Thanks to laforced for your reply to my above ref thread.
I am working with a new book (to me) 'The Zen of Direct3D game programming' which if I move to DirectX 9 may make the book redundant and worthless, I would rather initially stick to what I have and what the book uses then move on to later more recent versions once I understand what this book is telling me.
I have been dredging through the copious quantities of notes in the Help Listing trying to decide what applied to the win32 project that I am trying to build and what relates to some other aspect of C++. I decided that despite the compilation error saying that the file could not OPEN that it actually meant that it could not be found. In the Project Settings > Object/library modules, to the DX8 library file names listed in the book I have added their paths. I also concluded that despite the simplicity of the source code that the compiler could not decide that the entry point was at 'main()' so I have added 'main' to the to the Category drop down list box under Output > Entry-point symbol, the project now compiles with ‘0 Errors & 0 Warnings’ however when attempting to build an .exe file for the project I get a 'Send Error Report to MS dialog', what has gone wrong? Can you help me fix this?
Your reply confirms part of what I have done, the book guided me to move the DirectX 8 default directory include to the top of the path stack, but there is no mention of how to add the lib location to the Project Settings other than what I have done to enter this information with the lib file names in the Object/library modules box?
Many thanks for any suggestions that will help me compile this trivial project.
Best regards,Edward.
FAO laforced Hi,
I have reached chapter 7 in the book to the point where we are adding a MFC type menu to the win32 app, I have followed the text carefully and the wizard adds a “resource.h” and “resource.rc” to my Source File directory, when I try to compile the application I get an error “File cannot be Opened” can you suggest how I can get the file generated by the wizard found? The Persist as: address is “.\resources.h” why is this? It is in the same directory as the file main.cpp?
This looks like the same error as the linking with the DirectX 8 SDK lib files, can you help? If not please let me know – many thanks.Edward.
Have you included "resource.h" in your " WinMAin " file?
That would be the first thing to check.
Many thanks for getting back to me LaForce D,
Yes I had added the [#include <resource.h>] statement. The error displayed on building the project is as follows:
Configuration: Direct3D Application - Win32 Debug-
Compiling...
main.cpp
c:\gameprojects\direct3d application\main.cpp(10) : fatal error C1083: Cannot open include file: 'resource.h': No such file or directory
Error executing cl.exe.
main.obj - 1 error(s), 0 warning(s)
The Persist at: address of resource.h sugests that it exists at a different location from that shown in the file view of the C++ interface where it appears to be in the same directory as the file main.cpp
I look farward to your further thoughts on this and possibly the earlier linking problem which did not go away as I had oncetime thought.
Many thanks again and best regards,
Edward.
< resource.h > replace the angle brackets around the header with
quotes and try it. " resource.h "
Many thanks Laforce D,
Puting the quotation marks round "rersource.h" has allowed the C++ compiler to move on, I now have another error the message is as follows:
Deleting intermediate files and output files for project 'Direct3D Application - Win32 Debug'.
Configuration: Direct3D Application - Win32 Debug-
Compiling resources...
Compiling...
main.cpp
Linking...
LINK : fatal error LNK1104: cannot open file "C:\GamesProjects\Direct3D.obj"
Error executing link.exe.
Direct3D Application.exe - 1 error(s), 0 warning(s)
Can you offer a remedy for this one? I really appreciate the time and interest taken to help get me going.
Best regards,
Edward.
Hi Laforce D,
I am posting an update on my previous entry to this thread, a change had occurred to my resources.rc file instead of showing the menu image it is showing the code behind, I have built a new project using the same source code and the menu is now visible and functioning. Thanks for your input!
Can I revert back to my original problem?
Using the simpler project listed on page 78 which is the first windows app showing the text " Resistance is futile!" without the link to the DirectX 8 SDK library the project works, adding the four new DirectX library file names the Project Settings Object/library modules: box
dxguide.lib d3d8.lib d3dx8.lib winmm.lib gives the following error:
Deleting intermediate files and output files for project 'MB_Game - Win32 Debug'.
--Configuration: MB_Game - Win32 Debug--
Compiling...
main.cpp
Linking...
LINK : fatal error LNK1104: cannot open file "dxguide.lib"
Error executing link.exe.
MB_Game.exe - 1 error(s), 0 warning(s)
This includes the inclusion of entries inserted into Tools>Options Directories box
C:\mssdk\include
C:\MSSDK\LIB
C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\ATL\INCLUDE
In this instance I know that the files exist at the locations given but why they cannot be opened is a mistery? any thoughts? I will need this for chapter 8 onwards. Many thanks again.
Best regards,
Edward.