我正在开发一个使用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
答案 0 :(得分:4)
#define GLEW_STATIC
确实不会影响链接器 - 这实际上只适用于Windows平台,在动态版本中,会添加dllspec
声明。
如果要静态链接到GLEW,则需要一个静态.lib
文件,并且必须将链接器指向该链接。
但是,对于GLEW,您还可以直接将glew.c
集成到项目中,并链接目标文件,以便根本不需要库。