|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Apr 2008
Messaggi: 28
|
[C++] Dev-C++ & SDL
Ho un problemino, quando vado a compilare mi esce questa scritta:
[Linker error] undefined reference to `__cpu_features_init' ld returned 1 exit status C:\****\Makefile.win [Build Error] [GAME_ONE.exe] Error 1 Che vuol dire sta cosa? |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2006
Messaggi: 22462
|
la sfero di cristallo non mi è stata fornita, posta il codice e se vuoi un mio consiglio, cambia ide
__________________
amd a64x2 4400+ sk939;asus a8n-sli; 2x1gb ddr400; x850 crossfire; 2 x western digital abys 320gb|| asus g1
Se striscia fulmina, se svolazza l'ammazza |
|
|
|
|
|
#3 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
|
|
|
|
|
|
#4 |
|
Junior Member
Iscritto dal: Apr 2008
Messaggi: 28
|
Complimenti per la battuta
Ecco il codice: file #1: GAME.h void Inizializza_engine(int risoluzione_x, int risoluzione_y, int colori, int modalita); void posiziona (SDL_Surface *immagine, int pos_x, int pos_y); void posiziona(SDL_Surface *immagine, int pos_x, int pos_y, int frames[5], int n_fotogrammi); void trasparenza(SDL_Surface *immagine, int rosso, int verde, int blu); void aggiorna(); void cancella(); void finalizza(); void libera_memoria(SDL_Surface *immagine); file#2: GAME2.h #include <iostream> #include <stdlib.h> #include <sdl\SDL.h> #include "GAME.h" SDL_Surface *screen; void Inizializza_engine(int risoluzione_x, int risoluzione_y, int colori, int modalita){ if(SDL_Init(SDL_INIT_VIDEO|SDL_INIT_AUDIO)<0){ printf("Errore nell'inizializzazione dell'engine: %*s\n", SDL_GetError()); exit(1); } if(modalita==0) screen=SDL_SetVideoMode(risoluzione_x, risoluzione_y, colori, SDL_HWSURFACE | SDL_DOUBLEBUF); if(modalita==1) screen=SDL_SetVideoMode(risoluzione_x, risoluzione_y, colori, SDL_HWSURFACE | SDL_DOUBLEBUF | SDL_FULLSCREEN); } void posiziona(SDL_Surface *immagine, int pos_x, int pos_y) { SDL_Rect destinazione; destinazione.x=pos_x; destinazione.y=pos_y; SDL_BlitSurface(immagine, NULL, screen, &destinazione); } void posiziona(SDL_Surface *immagine, int pos_x, int pos_y, int frames[5], int n_fotogrammi){ if(n_fotogrammi>frames[4])n_fotogrammi=0; SDL_Rect destinazione; destinazione.x=pos_x; destinazione.y=pos_y; SDL_Rect fotogramma; fotogramma.x= frames[0] + frames[2]*n_fotogrammi; fotogramma.y= frames[1]; fotogramma.w= frames[2]; fotogramma.h= frames[3]; SDL_BlitSurface(immagine, &fotogramma, screen, &destinazione); } void trasparenza(SDL_Surface *immagine, int rosso, int verde, int blu){ Uint32 colore_trasparente = SDL_MapRGB(immagine->format, rosso, verde, blu); SDL_SetColorKey(immagine, SDL_SRCCOLORKEY|SDL_RLEACCEL, colore_trasparente); } void aggiorna(){ SDL_Flip(screen); } void cancella(){ SDL_FillRect(screen, 0, 0); } void finalizza(){ SDL_Quit(); } file #3: main.cpp #include <iostream> #include <stdlib.h> #include <sdl\SDL.h> #include <windows.h> #include "GAME2.h" using namespace std; int risoluzione_x=640; int risoluzione_y=480; int bit_colori=32; int modalita=0; // 0= modalità finestra // 1= modalità schermo intero SDL_Surface *sfondo; int main(int argc, char *argv[]){ Inizializza_engine(risoluzione_x, risoluzione_y, bit_colori, modalita); sfondo=SDL_LoadBMP("sfondo.bmp"); while (GetAsyncKeyState(VK_ESCAPE)==0){ cancella(); posiziona(sfondo, 0, 0); aggiorna(); } finalizza(); return 0; } |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Mar 2006
Messaggi: 2516
|
anche io ho lo stesso problema. lo da con qualsiasi cosa provi a compilare...
lo so che il dev fa schifo ed infatti uso eclipse e code::blocks, ma all'uni il prof ci fa usare questo |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 01:14.












grande








