在我的项目目录中,我有:
- ./external/glew,已从源代码编译 glew(运行 make)
- ./external/glfw,其中 glfw 也是从源代码编译的(运行 make x11)
在我的 .c 源代码中:
#include <stdio.h>
#include <stdlib.h>
#include "external/glew/include/GL/glew.h"
#include "external/glfw/include/GL/glfw.h"
我尝试使用 GCC 进行编译:
gcc test1.c -o test1 -DGLEW_STATIC -L./external/glew/lib -lGLEW -lGLU -lGL \
-L./external/glfw/lib/x11 -lglfw
./external/glew/lib 是 libGLEW.a 所在的位置, ./external/glfw/lib/x11 是 libglfw.a 所在的位置。
它编译没有错误。但后来我尝试运行 ./test1 它给了我:
./test1: error while loading shared libraries: libGLEW.so.1.6: cannot
open shared object file: No such file or directory
我如何静态编译 glew 和 glfw?
编辑 1感谢您的帮助。在 stackoverflow 和老 nabble 的一些人的帮助下,我设法写下静态链接 GLFW 和 GLEW 需要做的事情,并将其放在http://www.phacks.net/static-compile-glfw-and-glew /