GLEW:我将其设置为使用静态库,但在 运行 时抱怨找不到 libGlew.so

GLEW: I set it to use the static library but at run time complains about not finding libGlew.so

我正在从事一个使用 GLFW 和 GLEW 的项目。我可以完美地编译它而没有错误消息但是当我 运行 它提示这个:

/home/doc/main: error while loading shared libraries: libGLEW.so.1.12: cannot open shared object file: No such file or directory

我在我的主文件顶部添加了 #define GLEW_STATIC,所以它不应该作为共享库找到它,不是吗?你知道它会是什么吗?提前致谢。

编辑: 在我的 Qt 项目文件中,我将其附加到 LIBS

LIBS += -L/usr/local/lib -lglfw -lGL -lGLU -lX11 -lGLEW

#define GLEW_STATIC 不会影响 linker - 这实际上只需要 Windows 平台,在动态版本中,添加了 dllspec 声明.

如果您想 link 静态地访问 GLEW,您需要一个静态 .lib 文件并且必须将您的 linker 指向 link 反对它。

不过,如果是GLEW,你也可以直接把glew.c集成到你的项目中,link目标文件,这样就完全不需要库了。