# Directx and Dev-C++

## Recommended Posts

Okay this has probably been covered and I have been all over the net and seen it covered, but I just can't seem to get it to work. I think I picked a bad time to learn DirectX INFO Newest Dev-C++ Directx 10 SDK (may be the problem) Windows Vista Ultimate x64 (may also be the problem) Okay so I am going through one of the directx tutorials on the site(http://www.gamedev.net/reference/articles/article608.asp). I grabbed some code put it in a win32 project and tried to compile. Didn't work, so I turned all the lib files into .a files with the reimp tool. I moved them all into the Dev-C++ lib folder. I made sure my directory had no spaces C:\Dev-Cpp . I added some *.a directx files to the project. I must still be doing something wrong. Here is the code. Its the first bit of code in the tutorial. I get these errors. Thanks for any help. This is really bumming me out I just wanted to be able to compile something in directx. EDIT: While i did add only a few lib files to the project, now i've added them all. :( could someone tell me which ones i would need to add. LPDIRECTDRAW' does not name a type HWND' was not declared in this scope expected ,' or ;' before '{' token [main.o] Error 1 /////////// // globals (ugh) LPDIRECTDRAW lpDD; // DirectDraw object defined in DDRAW.H << Error ? /* * Function to initialize DirectDraw * Demonstrates: * 1) Creating the Direct Draw Object * 2) Setting the Cooperative level * 3) Setting the Display mode * */ bool DirectDrawInit(HWND hwnd) { HRESULT ddrval; /* * Create the main DirectDraw object. * * This function takes care of initializing COM and Constructing * the DirectDraw object. */ ddrval = DirectDrawCreate( NULL, &lpDD, NULL ); if( ddrval != DD_OK ) { return(false); } /* * The cooperative level determines how much control we have over the * screen. This must at least be either DDSCL_EXCLUSIVE or DDSCL_NORMAL * * DDSCL_EXCLUSIVE allows us to change video modes, and requires * the DDSCL_FULLSCREEN flag, which will cause the window to take over * the fullscreen. This is the preferred DirectDraw mode because it allows * us to have control of the whole screen without regard for GDI. * * DDSCL_NORMAL is used to allow the DirectDraw app to run windowed. */ ddrval = lpDD->SetCooperativeLevel( hwnd, DDSCL_EXCLUSIVE | DDSCL_FULLSCREEN ); if( ddrval != DD_OK ) { lpDD->Release(); return(false); } /* * Set the video mode to 640x480x8 * This is allowed because we have set exclusive mode above */ ddrval = lpDD->SetDisplayMode( 640, 480, 8); if( ddrval != DD_OK ) { lpDD->Release(); return(false); } return(true); }

##### Share on other sites
Bump*

Any Ideas?

Is this code even ment to compile?

##### Share on other sites
You don't seem to include any headers at all. I don't know what the deal is with Dev-C++, but last time I used Direct3D, the first thing I did was including the respective DirectX header (d3d9.h). At the very least, if you're using Win32 types such as HWND, you should include <windows.h>.

If you _did_ do this, and left it out of the snippet, my bad :-).

##### Share on other sites
I can't see any #includes, and the error you're getting (XXX does not name a type) indicates that you haven't included the correct files. I can't say what these files are as I'm not a direct X programmer.

## Create an account

Register a new account

• ### Forum Statistics

• Total Topics
628277
• Total Posts
2981774

• 10
• 11
• 17
• 10
• 9