I'm pretty sure these errors I'm getting are because of the difference between compilers, but I don't know how to fix it and what to do to what. I'm using Dev-C++. I'm starting out with OpenGL on windows, and when I make a windows app or I use the code from NeHe, it works. But the OpenGL tutorials on this site and at ultimategameprogramming.com, they don't. The problem I'm getting is with CreateWindowEx(). The last parameter, I usually have it set to NULL, which works on my programs and NeHe's, but the other ones, my compiler says this:

[Warning] passing NULL used for non-pointer converting 1 of `HWND__* CreateWindowExA(DWORD, const CHAR*, const CHAR*, DWORD, int, int, int, int, HWND__*, HMENU__*, HINSTANCE__*, void*)'

but I always pass NULL and it works. Why is it having a problem now? After that, I get tons of linker errors saying a bunch of windows functions and OpenGL functions are undefined references (yes, I'm including the headers, and everything is installed).
Some of these programs are meant for VC++, could that be doing it? Cuz this all works fine when I do it.
Also, there's programs where functions take float and a call passes for example 1, in my compiler to let it know it's a float it'd have to be 1.f, so I'd fix all that. And then it'd say it can't find that function with the listed parameters, and then list that exact function with the same parameters as a possible candidate. I don't get it. Any ideas? Thanks for any help on this