|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Jul 2002
Città: Padova
Messaggi: 4245
|
Usare libSDL per un joystick..........
Ciao a tutti, premetto che sono anni che non programmo e che in C sotto linux non ho mai fatto nulla, ma per cercare di portare avanti un'idea che mi è passata per la testa, ho iniziato a vedere se riesco ad usare la libreria SDL sotto linux.
La mia intenzione, per facilitarmi la vita era quella di usare gambas ma siccome non trovo info su come gestire un joystick sotto tale linguaggio ho deviato su C per poi una volta capito come funzionano le SDL provare ad usarle su gambas. Ho quindi iniziato a leggere un pochino qui: http://docs.huihoo.com/sdl/1.2/sdljoystickopen.html e visto che c'ero ho deciso di provare l'esempio che c'è proprio in quella pagina. Ovviamente non funziona ![]() Ho modificato un po' l'esempio come segue: Codice:
#include "/usr/include/SDL/SDL.h" #include <stdio.h> void main() { SDL_Joystick *joy; // Check for joystick if(SDL_NumJoysticks()>0) { // Open joystick joy=SDL_JoystickOpen(0); if(joy) { printf("Opened Joystick 0\n"); printf("Name: %s\n", SDL_JoystickName(0)); printf("Number of Axes: %d\n", SDL_JoystickNumAxes(joy)); printf("Number of Buttons: %d\n", SDL_JoystickNumButtons(joy)); printf("Number of Balls: %d\n", SDL_JoystickNumBalls(joy)); } else printf("Couldn't open Joystick 0\n"); // Close if opened if(SDL_JoystickOpened(0)) SDL_JoystickClose(joy); } } Codice:
$ gcc test.c /tmp/ccd6Zngk.o: In function `main': test.c:(.text+0x9): undefined reference to `SDL_NumJoysticks' test.c:(.text+0x1b): undefined reference to `SDL_JoystickOpen' test.c:(.text+0x3e): undefined reference to `SDL_JoystickName' test.c:(.text+0x62): undefined reference to `SDL_JoystickNumAxes' test.c:(.text+0x84): undefined reference to `SDL_JoystickNumButtons' test.c:(.text+0xa6): undefined reference to `SDL_JoystickNumBalls' test.c:(.text+0xd2): undefined reference to `SDL_JoystickOpened' test.c:(.text+0xe2): undefined reference to `SDL_JoystickClose' collect2: ld returned 1 exit status Sembra quasi che la librearia SDL non corrisponda con le chiamate che ci sono nell'esempio. Chiedo aiuto da parte di qualche esperto in materia, perchè dopo svariate prove non sono riuscito a capirne nulla ![]() Grazie. Ciao. |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Feb 2006
Città: Parma
Messaggi: 3010
|
Hai installato la libreria SDL e relative parti di sviluppo, giusto?
Non specifichi la distribuzione, per completezza metto il riferimento ai pacchetti quelle più comuni ed affini ai miei gusti (ovviamente, nel caso ti mancassero, non scaricare da lì, usa il gestore dei pacchetti): Devi poi specificare che il tuo programma necessita di linkare con la libreria SDL, prova: Codice:
gcc -lSDL test.c Codice:
gimli@sertan ~/Desktop $ gcc -lSDL test.c gimli@sertan ~/Desktop $
__________________
~Breve riferimento ai comandi GNU/Linux (ormai non molto breve...) |
![]() |
![]() |
![]() |
#3 | |
Senior Member
Iscritto dal: Jul 2002
Città: Padova
Messaggi: 4245
|
Quote:
Comunque, con il tuo consiglio ho fatto un passo in avanti, nel senso che con gcc -lSDL riesco a compilare senza errori. Poi il programma non mi printa niente a video ma questa è un altra storia che ora mi vedrò con un po' di calma ![]() Grazie, mi sei stato veramente utile............ero inchiodato su questa rogna ![]() Ciao. |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:46.