Problema OpenGL / SDL in Ubuntu
Domanda
Ho un codice C che non sono riuscito a eseguire http://dl.getdropbox.com/u/175564/problem-sdl. png
Il problema è in OpenGL o SDL. Non ho SDL.h su /usr/local/SDL/SDL.h, quindi gcc non riesce a trovarlo.
Ho SDL.h installato da MacPorts su /opt/local/include/SDL/SDL.h.
Ho provato a copiarlo in /Masi/local/SDL/SDL.h nella cartella senza successo
cp /opt/local/include/SDL/SDL.h /
e da
cp /opt/local/include/SDL/SDL.h /Masi/local/SDL/
Ho provato a risolvere il problema creando un link simbolico di
$ln -s /opt/local/include/SDL/SDL.h /Masi/local/SDL/SDL.h
Soluzione
No, Ubuntu non li ha di default (almeno le versioni di sviluppo). Per il mio piccolo programma ho appena installato libsdl1.2-dev e mesa-common-dev (OpenGL).
Per il processo di compilazione uso scons che producono i seguenti comandi:
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
Se installi le librerie in una posizione non standard, potresti dover specificare i tuoi percorsi include (-I) e library (-L).
Altri suggerimenti
il modo più semplice per ottenere tutti i flag del compilatore per SDL è usando sdl-config
:
gcc sdl_gl_1.c $(sdl-config --cflags --libs) -lGL -lGLU