首页 > 解决方案 > glew 可以与 Linux 上其他库中的 glew 冲突吗?

问题描述

我有一个动态库,它glew.c在构建和构建中使用GLEW_STATIC. 如果另一个库链接到同一个应用程序并且还以某种方式包含 GLEW,是否有可能由于单一定义规则而导致 Linux 出现问题?

标签: linuxopenglglewone-definition-rule

解决方案


只要您不导出任何符号就可以了。所有 GLEW 符号都应具有“隐藏”属性。-fvisibilty=hidden您可以通过在编译时使用将默认可见性设置为“隐藏”来做到这一点。您可以使用__attribute__ ((visibility ("default")))显式导出要导出的符号。

老实说,我无法将这种行为与 ODR 调和。我会谨慎地说 ODR 不考虑符号的可见性。


推荐阅读