How to make OpenGL apps in 64-bit Windows?

Ruben Trancoso picture Ruben Trancoso · Aug 6, 2009 · Viewed 32.6k times · Source

My project compiles, link and run in xp32 then I tried to cross compile it to x64 and I came across a lot of questions:

  1. There's no native x64 instalable OpenGL SDK so I link against what?
  2. I saw someone saying that x64 apps use 32bits opengl dll. I tryied to run my compiled 64-bits app in a xp64 with drivers to my video card (radeon 4850), the same I use on xp32 and I got that typical error "bla bla bla, maybe reinstalling you application will resolve the problem"
  3. If I use video card drivers how to keep it working with another Cards, should I build a version for each? (no sense). Should I load an available library dinamicaly? (same no sense)
  4. Which is the reference implementation for x64? where do I find its libs to link against?

I'm really lost on that matter. I did a lot of searchs and found nothing that helped me understant till the momment.

So, what is the path? What I want to know to make native x64 OpenGL apps?

Answer

bk1e picture bk1e · Aug 6, 2009

The 64-bit OpenGL import library is included in the Windows SDK and gets installed to %ProgramFiles%\Microsoft SDKs\Windows\<version>\Lib\x64\OpenGL32.lib. The corresponding DLL is named opengl32.dll and is located in %SystemRoot%\system32. The 32-bit version is also named opengl32.dll and is located in %SystemRoot%\syswow64 on 64-bit Windows.

You can't load 32-bit DLLs in a 64-bit process, so whatever you read about x64 apps using the 32-bit OpenGL DLL was incorrect. There is definitely a 64-bit OpenGL DLL, but it has "32" in its name, presumably to make porting easier.