Проблема OpenGL / SDL в Ubuntu
Вопрос
У меня есть C-код, который мне не удалось запустить http://dl.getdropbox.com/u/175564/problem-sdl. PNG р>
Проблема в OpenGL или SDL. У меня нет файла SDL.h в /usr/local/SDL/SDL.h, поэтому gcc не может его найти.
Я установил SDL.h MacPorts в /opt/local/include/SDL/SDL.h.
Я попытался скопировать его в /Masi/local/SDL/SDL.h безуспешно в папке
cp /opt/local/include/SDL/SDL.h /
и
cp /opt/local/include/SDL/SDL.h /Masi/local/SDL/
Я попытался решить эту проблему, создав символическую ссылку
$ln -s /opt/local/include/SDL/SDL.h /Masi/local/SDL/SDL.h
Решение
Нет, в Ubuntu их нет по умолчанию (по крайней мере, в версиях для разработчиков). Для моей собственной маленькой программы я только что установил libsdl1.2-dev и mesa-common-dev (OpenGL).
Для процесса сборки я использую scons, который производит следующие команды:
gcc -o src/geom.o -c -Wall -ansi src/geom.c
gcc -o src/main.o -c -Wall -ansi src/main.c
gcc -o test src/main.o src/geom.o -lSDL -lGL
Если вы устанавливаете библиотеки в нестандартном месте, вам может потребоваться указать собственные пути включения (-I) и библиотеки (-L).
Другие советы
самый простой способ получить все флаги компилятора для SDL - использовать sdl-config
:
gcc sdl_gl_1.c $(sdl-config --cflags --libs) -lGL -lGLU