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

时间:2015-02-18 23:15:18

标签: opengl static libraries shared glew

我正在开发一个使用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

1 个答案:

答案 0 :(得分:4)

#define GLEW_STATIC确实不会影响链接器 - 这实际上只适用于Windows平台,在动态版本中,会添加dllspec声明。

如果要静态链接到GLEW,则需要一个静态.lib文件,并且必须将链接器指向该链接。

但是,对于GLEW,您还可以直接将glew.c集成到项目中,并链接目标文件,以便根本不需要库。