c++ winapi opengl visual-studio-2005 64-bit

c++ - glut h



¿Cómo hacer aplicaciones OpenGL en Windows de 64 bits? (2)

Las bibliotecas estáticas y dinámicas de OpenGL OpenGL32.lib y opengl32.dll para opengl32.dll de 32 o 64 bits vienen con el sistema operativo y ahora están respectivamente en los directorios de Windows que se enumeran a continuación. Solo tenga en cuenta que las bibliotecas OpenGL (y glew) de 32 y 64 bits tienen el mismo nombre por razones históricas.

Si está utilizando Visual Studio en Windows, no es necesario copiar la biblioteca opengl32.dll en sus directorios de Debug o Release donde se encuentra su .exe o la ruta de acceso a OpenGL32.lib en Visual Studio; solo agregue "Opengl32.lib" en Properties , Linker , Input , luego Additional Dependencies .

C:/Program Files (x86)/Windows Kits/10/Lib/10.0.14393.0/um/x86 C:/Windows/System32 C:/Program Files (x86)/Windows Kits/10/Lib/10.0.14393.0/um/x64 C:/Windows/SysWOW64

Mi proyecto compila, vincula y ejecuta en xp32, luego traté de compilarlo cruzadamente a x64 y encontré muchas preguntas:

  1. No hay un SDK de OpenGL instalable x64 nativo, así que lo vinculo con ¿qué?
  2. Vi a alguien diciendo que las aplicaciones x64 usan 32 bits de opengl dll. Intenté ejecutar mi aplicación compilada de 64 bits en un xp64 con controladores para mi tarjeta de video (radeon 4850), lo mismo que uso en xp32 y obtuve el error típico "bla bla bla, tal vez reinstalar tu aplicación resolverá el problema"
  3. Si uso los controladores de la tarjeta de video, ¿cómo puedo hacer que funcione con otras Tarjetas, debo crear una versión para cada una? (sin sentido). ¿Debo cargar dinamicaly una biblioteca disponible? (no tiene sentido)
  4. ¿Cuál es la implementación de referencia para x64? ¿Dónde encuentro sus libs para enlazar?

Estoy realmente perdido en ese asunto. Hice muchas búsquedas y no encontré nada que me ayudara a entender hasta el momento.

Entonces, ¿cuál es el camino? ¿Qué quiero saber para hacer aplicaciones nativas de OpenGL x64?


La biblioteca de importación de OpenGL de 64 bits se incluye en el SDK de Windows y se instala en %ProgramFiles%/Microsoft SDKs/Windows/<version>/Lib/x64/OpenGL32.lib . La DLL correspondiente se llama opengl32.dll y se encuentra en %SystemRoot%/system32 . La versión de 32 bits también se llama opengl32.dll y se encuentra en %SystemRoot%/syswow64 en Windows de 64 bits.

No puede cargar DLL de 32 bits en un proceso de 64 bits, por lo que todo lo que lea acerca de las aplicaciones x64 utilizando la DLL de OpenGL de 32 bits fue incorrecto. Definitivamente hay una DLL de OpenGL de 64 bits, pero tiene "32" en su nombre, probablemente para facilitar la portabilidad.