В моем каталоге проектов у меня есть:
- . / External / glew, скомпилированный из исходного кода glew (run make)
- . / External / glfw, у которого glfw также скомпилирован из исходного кода (run 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/