【问题标题】:Selecting a specific opengl32.dll file at load time在加载时选择特定的 opengl32.dll 文件
【发布时间】:2010-11-19 18:10:51
【问题描述】:

根据计算机中的显卡,我希望我的应用程序要么选择现有的 opengl32.dll(位于 C:\Windows\System32),要么选择 Mesa\software fallback opengl32.dll。是否可以在加载时执行此操作,或者这是我无法控制的?

如果没有,是否可以在.dll 文件加载到 Windows 应用程序之前执行我自己的代码(我的备份解决方案是简单地重命名与我的可执行文件位于同一目录中的软件 .dll 文件) ?

【问题讨论】:

    标签: c++ dll opengl mesa


    【解决方案1】:

    是的。使用延迟加载。这是一个非常简单的编译器标志。在幕后,它将为您生成 LoadLibrary 和 GetProcAddress 调用。

    opengl32.dll 的实际加载现在将延迟到第一次调用 OpenGL 函数,您有时间调用SetDllDirectory

    【讨论】:

      【解决方案2】:

      查看LoadLibrary(Ex)

      【讨论】:

      • 在我的真实项目中工作过,但在我的原型项目中没有。足够好。
      猜你喜欢
      • 2014-04-03
      • 1970-01-01
      • 2011-04-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-29
      相关资源
      最近更新 更多