OpenGL32 library
OpenGL32 library
我缺少opengl32库(更多详细信息:mingw32 w64缺少opengl32库)。我有几个问题与这个图书馆有关:
- 为什么我需要opengl32静态库(我有.dll)
- 为什么视频卡供应商不提供此库
- 谁应该提供
- 有opengl32库的源代码吗
- 如果有opengl32,为什么我需要GLEW或其他GL库实现(使用OpenGL的所有功能)?为什么opengl32不能拥有所有必需的GL实现
为什么我需要opengl32静态库(我有.dll)?
它为链接器提供了符号表。符号表告诉链接器库提供了哪些函数,这样链接器就知道如何将程序中使用的符号与链接的库联系起来。
请注意,在除windows之外的其他操作系统上,"DLL"也提供符号表。
为什么视频卡供应商不提供此库?
因为库是驱动程序系统的操作系统接口的一部分
谁应该提供?
DLL:操作系统供应商。符号表库:编译器供应商。
有opengl32库的源代码吗?
OpenGL本身只是一个规范。您的计算机上有一个实现和一个接口。接口是操作系统的一部分。因此,在闭源操作系统上没有可用的源代码,但在开源操作系统上有。
如果有opengl32,为什么我需要GLEW或其他GL库实现(使用OpenGL的所有功能)?
opengl32.dll只是驱动程序系统的一个接口。该接口需要是OpenGL功能的最小公约数,以便通过通用接口提供广泛的OpenGL版本和功能。但是,您也希望能够访问更新的、出血边缘的功能,对于这些功能,存在扩展机制。
为什么opengl32不能拥有所有必需的GL实现?
opengl32.dll是操作系统的一部分,如果它是操作系统一部分,那么OpenGL的每个新版本都需要操作系统更新。事实上,这就是MacOSX.的情况
OpenGL实现也是驱动程序的一部分,而不是DLL。
- 它不是一个静态库,而是一个动态链接到DLL的库
- 因为它或多或少是操作系统的一部分。从OpenGL32.dll导出的符号往往是标准的(一组特定的
gl...
函数)和特定于Microsoft的(至少是wgl
函数)。众所周知的供应商之间没有差异 - 微软确实提供了它及其编译器。任何其他编译器供应商也应该这样做,因为libs可能在某种程度上是特定于编译器的
- Mesa是一个开源的OpenGL实现,所以你会得到最接近的
- 你不能,你可以手动获取字符串和函数指针,这非常乏味。GLEW等人为您完成了大部分功能检查和初始化。它们不会做任何你可以直接用OpenGL32.dll做的事情,但它们确实让生活变得更轻松
相关文章:
- Boost Graph Library,修复节点大小
- SFML library: http request
- 解决"ld: library not found for -ltensorflow_framework.2.3.0"
- Linking library C++
- 在VS2019项目中集成ImageMagick:x64-windows-static library
- OpenSSL fips in C++ wrapper Library 如何?错误:指纹不匹配
- C++ class vs a library
- C++ library with Tensorflow on Android
- CMake:尝试在 Jenkins 构建机器上运行时出现"Linked Library"错误 (0xc0000135)
- 将 c++ cmake-library 构建发布到本地存储库时出现 Gradle 错误
- 为什么'allocate in one library and free in the other'是错误的
- 链接 library.lib 使用 setup.py.
- 目标提升::<library>已经有导入的位置 + 链接错误
- Visual Studio 2017 C++,如何定义一个"环境变量"'Additional Library Directory'?
- C++ Boost SML Library
- Windows 套接字和身份验证构建在包含 Poco-Library 时失败
- Qt小部件应用程序"Library not registered"错误
- Xcode/IOS: linking a CMake library
- 如何修复'The procedure entry point SDL_RWclose could not be located in the dynamic link library'
- OpenGL32 library