大多数在Linux上使用OpenGL的应用程序和库都是在运行时使用
为什么他们要这样做呢?
我唯一能想到的原因是因为任何图形驱动程序供应商都会提供不同的
无论如何,假设有一个很好的理由这样做,我也想那样做。是否有任何链接到所有OpenGL函数的开源C/C++代码,可以通过
dlopen
API加载libGL.so
,而不是动态链接它。为什么他们要这样做呢?
我唯一能想到的原因是因为任何图形驱动程序供应商都会提供不同的
libGL
,并且两个不同的libGL
可能是ABI不兼容的。(好吧,为什么它们应该是ABI不兼容的?即使它们不兼容,为什么通过dlopen
加载它们会修复这个问题?)无论如何,假设有一个很好的理由这样做,我也想那样做。是否有任何链接到所有OpenGL函数的开源C/C++代码,可以通过
dlopen
加载,我可以将其包含到我的项目中,而不需要太多调整?