如何在64位Windows的OpenGL应用程序?(How to make OpenGL apps

2019-07-31 12:10发布

我的项目编译,链接和运行在XP32然后我试图穿越它编译成x64和我遇到了很多问题来了:

  1. 有没有原生的x64 instalable OpenGL的SDK,所以我反对什么联系呢?
  2. 我看到有人说,64位应用程序使用32位OpenGL的DLL。 我tryied与司机我的显卡(RADEON 4850),我在XP32使用相同的运行在一个XP64我编的64位应用程序,我得到了典型的错误“唧唧歪歪,也许重新安装你的应用程序将解决这个问题。”
  3. 如果我使用的视频卡驱动程序如何保持它与其他卡的工作,我要建立每个版本? (没有意义)。 我应该加载一个可用库dinamicaly? (同样没有意义)
  4. 这是64位的参考实现? 我在哪里找到它的库来链接?

我真的失去了这一问题。 我做了很多的搜索结果的并没有发现任何帮助我understant直到momment。

那么,什么是路? 我想知道,使原生64位的OpenGL应用程序?

Answer 1:

64位OpenGL的导入库包含在Windows SDK的和被安装到%ProgramFiles%\Microsoft SDKs\Windows\<version>\Lib\x64\OpenGL32.lib 。 相应的DLL被命名为opengl32.dll ,它位于%SystemRoot%\system32 。 32位版本也叫opengl32.dll ,位于%SystemRoot%\syswow64在64位Windows。

你无法加载32位DLL在64位的过程,所以你读任何有关使用32位的DLL的OpenGL应用程序的x64是不正确的。 肯定是有一个64位的OpenGL DLL,但它有“32”,在它的名字,大概是为了使移植更容易。



Answer 2:

OpenGL的静态和动态库OpenGL32.libopengl32.dll为32位或64位应用程序来与OS和分别是现在在下面列出的Windows目录。 只要记住的是,32位和64位的OpenGL(和GLEW)库被命名为历史的原因相同。

如果您在使用Visual Studio在Windows中,无需拷贝opengl32.dll库在DebugRelease目录,哪里是你.exe或路径OpenGL32.lib在Visual Studio中-只添加“Opengl32.lib”的PropertiesLinkerInput ,然后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


文章来源: How to make OpenGL apps in 64-bit Windows?