Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    [C++] Dev-C++ e SDL errore compilazione!

    Ciao a tutti sono nuovo in questo forum!

    Mi stavo addentrando nella programmazione di videogiochi, da sempre il mio sogno. Ho provato in passato un po' pyGame (con Python) e XNA (con Visual C#) e ora data la lentezza del Python, e le restrizioni che hai con XNA, volevo iniziare ad utilizzare le SDL, tralaltro anche multipiattaforma.

    • Installo Dev-C++ 4.9.9.2 con mingw.
    • Scarico SDL-1.2.14 per mingw e lo metto su C:
    • Poi vado su Strumenti > Opzioni di Compilazione, spunto "Aggiungi questi comandi alla linea di comando del linker:" e incollo la stringa "-lmingw32 -lSDLmain -lSDL".
    • Mi sposto nella scheda Cartelle mi vado a linkare tutti i percorsi delle SDL bin, lib e include per C e C++.


    Faccio un nuovo progetto vuoto, aggiungo un file e lo chiamo main.cpp e dentro gli scrivo questo codice:
    codice:
    #include "SDL/SDL.h"
    
    int main( int argc, char* args[] )
    {
        //Start SDL
        SDL_Init( SDL_INIT_EVERYTHING );
        
        //Quit SDL
        SDL_Quit();
        
        return 0;    
    }
    Nelle opzioni del Progetto seleziono applicazione Win32 GUI, e compilo.
    Ecco l'errore che persiste:
    C:\Users\Migol\Desktop\Cpp\PixelGame\Makefile.win [Build Error] [main.o] Error 1
    Log (totale errori 1):
    Compilatore: Default compiler
    Building Makefile: "C:\Users\Migol\Desktop\Cpp\PixelGame\Makefile.win "
    Esecuzione di make...
    make.exe -f "C:\Users\Migol\Desktop\Cpp\PixelGame\Makefile.win " all
    g++.exe -c main.cpp -o main.o -I"C:/Dev-Cpp/lib/gcc/mingw32/3.4.2/include" -I"C:/Dev-Cpp/include/c++/3.4.2/backward" -I"C:/Dev-Cpp/include/c++/3.4.2/mingw32" -I"C:/Dev-Cpp/include/c++/3.4.2" -I"C:/Dev-Cpp/include" -I"C:/SDL-1.2.14/include"

    g++.exe: main.cpp: No such file or directory
    g++.exe: no input files

    make.exe: *** [main.o] Error 1

    Esecuzione terminata
    Log con parametro -v (totale errori 5):
    Compilatore: Default compiler
    Building Makefile: "C:\Users\Migol\Desktop\Cpp\PixelGame\Makefile.win "
    Esecuzione di make...
    make.exe -f "C:\Users\Migol\Desktop\Cpp\PixelGame\Makefile.win " all
    g++.exe -c main.cpp -o main.o -I"C:/Dev-Cpp/lib/gcc/mingw32/3.4.2/include" -I"C:/Dev-Cpp/include/c++/3.4.2/backward" -I"C:/Dev-Cpp/include/c++/3.4.2/mingw32" -I"C:/Dev-Cpp/include/c++/3.4.2" -I"C:/Dev-Cpp/include" -I"C:/SDL-1.2.14/include"

    g++.exe: main.cpp: No such file or directory
    g++.exe: no input files

    make.exe: *** [main.o] Error 1

    Esecuzione terminata
    Vi prego aiutatemi, è tutto il pomeriggio che cerco su internet ma non trovo niente... non so più che fare

  2. #2

  3. #3
    ho provato a cercare ancora tutto oggi pomeriggio e sembra che l'errore sia del compilatore che non funziona bene su Windows 7... Infatti non mi compila niente (strano perchè prima di installare le SDL mi andava tutto)... Ho provato a seguire questa guida ma niente da fare... :\

    Ho così cambiato compilatore, installando code::blocks, ho provato questo codice d'esempio:

    codice:
    //Include SDL functions and datatypes
    #include "SDL/SDL.h"
    
    int main( int argc, char* args[] )
    {
        //The images
        SDL_Surface* hello = NULL;
        SDL_Surface* screen = NULL;
    
            //Start SDL
        SDL_Init( SDL_INIT_EVERYTHING );
    
        //Set up screen
        screen = SDL_SetVideoMode( 640, 480, 32, SDL_SWSURFACE );
    
        //Load image
        hello = SDL_LoadBMP( "pixel.bmp" );
    
            //Apply image to screen
        SDL_BlitSurface( hello, NULL, screen, NULL );
    
        //Update Screen
        SDL_Flip( screen );
    
        //Pause
        SDL_Delay( 2000 );
    
            //Free the loaded image
        SDL_FreeSurface( hello );
    
        //Quit SDL
        SDL_Quit();
    
        return 0;
    }
    Lo eseguo da Code::Blocks, mi compare la finestra per 2000 millisecondi come ordinato però senza mostrarmi l'immagine. Lo eseguo aprendo l'exe compilato dalla sua cartella senza l'ausilio di code::blocks e funziona... -.-

    Cavolo ma come devo fare per usare ste SDL?!?!

  4. #4

  5. #5
    ma nessuno sa rispondermi?

  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Da quel che so/posso vedere, Dev-C++ è un progetto che è fermo dal 2005: nessun update, nessuno sviluppo, nessun contributo. Da quel che so leggendo diverse discussioni qui sul forum, è un progetto morto e pieno di bugs.

    Ti consiglio, come accade spesso anche qui sul forum da parte di utenti che programmano regolarmente con il linguaggio C++, di passare ad un IDE più aggiornato e stabile, come Code::Blocks.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  7. #7
    @LeleFT grazie per la risposta, ma se leggevi il mio terzo post (mi rendo conto che sono dei mattoni da leggere ) cercando in giro mi ero già chiarito questo particolari, infatti ho provato a compilare lo stesso codice su Code::Blocks, ma:

    Lo eseguo da Code::Blocks, mi compare la finestra per 2000 millisecondi come ordinato però senza mostrarmi l'immagine. Lo eseguo aprendo l'exe compilato dalla sua cartella senza l'ausilio di code::blocks e funziona... -.-

    Cavolo ma come devo fare per usare ste SDL?!?!
    Dovrei aprire un nuovo topic per il problema? grazie dell'aiuto: la voglia di fare giochi nonostante queste difficoltà è sempre forte

  8. #8
    Cacchio ma ho risolto!!! il file dell'immagine lo mettevo dentro CartellaProgetto/Bin/Debug dove realmente mi compilava il programma... però come cartella di riferimento quando avvio il programma da Code::Blocks usa la CartellaProgetto. Quindi mettendo il file "pixel.bmp" anche nella CartellaProgetto sono a posto

    yea!!! grazie dell'aiuto

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.