【问题标题】:How to make OpenGL apps in 64-bit Windows?如何在 64 位 Windows 中制作 OpenGL 应用程序?
【发布时间】:2009-08-06 02:21:09
【问题描述】:

我的项目在 xp32 中编译、链接和运行,然后我尝试将其交叉编译到 x64,但遇到了很多问题:

  1. 没有可安装的原生 x64 OpenGL SDK,所以我链接到什么?
  2. 我看到有人说 x64 应用程序使用 32 位 opengl dll。我尝试在 xp64 中运行我编译的 64 位应用程序,驱动程序连接到我的显卡(radeon 4850),与我在 xp32 上使用的相同,我得到了典型的错误“bla bla bla,也许重新安装你的应用程序会解决问题”
  3. 如果我使用视频卡驱动程序如何让它与其他卡一起工作,我应该为每个卡构建一个版本吗? (没有意义)。我应该动态加载可用的库吗? (同样没有意义)
  4. 哪个是 x64 的参考实现?我在哪里可以找到要链接的库?

我真的很迷茫。我做了很多搜索,直到现在都没有发现任何可以帮助我理解的东西。

那么,路径是什么?制作原生 x64 OpenGL 应用程序我想知道什么?

【问题讨论】:

    标签: c++ winapi opengl visual-studio-2005 64-bit


    【解决方案1】:

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

    您无法在 64 位进程中加载​​ 32 位 DLL,因此您阅读的有关使用 32 位 OpenGL DLL 的 x64 应用程序的任何内容都是不正确的。肯定有一个 64 位的 OpenGL DLL,但它的名字中有“32”,大概是为了让移植更容易。

    【讨论】:

    【解决方案2】:

    用于 32 位或 64 位应用程序的 OpenGL 静态和动态库 OpenGL32.libopengl32.dll 随操作系统一起提供,现在分别位于下面列出的 Windows 目录中。请记住,由于历史原因,32 位和 64 位 OpenGL(和 glew)库的名称相同。

    如果您在 Windows 中使用 Visual Studio,则无需在 DebugRelease 目录中复制 opengl32.dll 库,您的 .exeOpenGL32.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
    

    【讨论】:

      猜你喜欢
      • 2012-08-04
      • 2020-09-16
      • 2020-05-29
      • 1970-01-01
      • 1970-01-01
      • 2015-08-11
      • 1970-01-01
      • 2014-07-05
      • 1970-01-01
      相关资源
      最近更新 更多