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
È stato utile?

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
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top