Problema installazione librerie SFML

di il
17 risposte

Problema installazione librerie SFML

Ciao ragazzi è da un paio di giorni che cerco di installare le librerie SFML(consigliate da un'utente di questo forum )ma non riesco a farle partire... Mi dà una serie di errori...
Non riesco a capire dove sbaglio. Uso la guida del sito ufficiale della sfml(http://sfml-dev.org/tutorials/2.1/start-cb.ph)ma quando copio e incollo il codice base di sfml non funziona...

Questi sono gli errori:
||=== Build: Debug in Diversity (compiler: GNU GCC Compiler) ===|
obj\Debug\Altra prova.o(.text+0x1e4)||In function `main':|
C:\Users\cristian\Desktop\Diversity\Altra prova.cpp|6|undefined reference to `sf::String::String(char const*, std::locale const&)'|
obj\Debug\Altra prova.o(.text+0x220):C:\Users\cristian\Desktop\Diversity\Altra prova.cpp|6|undefined reference to `sf::VideoMode::VideoMode(unsigned int, unsigned int, unsigned int)'|
obj\Debug\Altra prova.o(.text+0x268):C:\Users\cristian\Desktop\Diversity\Altra prova.cpp|6|undefined reference to `sf::RenderWindow::RenderWindow(sf::VideoMode, sf::String const&, unsigned int, sf::ContextSettings const&)'|
obj\Debug\Altra prova.o(.text+0x32b):C:\Users\cristian\Desktop\Diversity\Altra prova.cpp|7|undefined reference to `sf::CircleShape::CircleShape(float, unsigned int)'|
obj\Debug\Altra prova.o(.text+0x333):C:\Users\cristian\Desktop\Diversity\Altra prova.cpp|8|undefined reference to `sf::Color::Green'|
obj\Debug\Altra prova.o(.text+0x34b):C:\Users\cristian\Desktop\Diversity\Altra prova.cpp|8|undefined reference to `sf::Shape::setFillColor(sf::Color const&)'|
obj\Debug\Altra prova.o(.text+0x363):C:\Users\cristian\Desktop\Diversity\Altra prova.cpp|10|undefined reference to `sf::Window::isOpen() const'|
obj\Debug\Altra prova.o(.text+0x38d):C:\Users\cristian\Desktop\Diversity\Altra prova.cpp|13|undefined reference to `sf::Window::pollEvent(sf::Event&)'|
obj\Debug\Altra prova.o(.text+0x3a8):C:\Users\cristian\Desktop\Diversity\Altra prova.cpp|16|undefined reference to `sf::Window::close()'|
obj\Debug\Altra prova.o(.text+0x3e2):C:\Users\cristian\Desktop\Diversity\Altra prova.cpp|19|undefined reference to `sf::Color::Color(unsigned char, unsigned char, unsigned char, unsigned char)'|
obj\Debug\Altra prova.o(.text+0x3fd):C:\Users\cristian\Desktop\Diversity\Altra prova.cpp|19|undefined reference to `sf::RenderTarget::clear(sf::Color const&)'|
obj\Debug\Altra prova.o(.text+0x405):C:\Users\cristian\Desktop\Diversity\Altra prova.cpp|20|undefined reference to `sf::RenderStates::Default'|
obj\Debug\Altra prova.o(.text+0x420):C:\Users\cristian\Desktop\Diversity\Altra prova.cpp|20|undefined reference to `sf::RenderTarget::draw(sf::Drawable const&, sf::RenderStates const&)'|
obj\Debug\Altra prova.o(.text+0x42e):C:\Users\cristian\Desktop\Diversity\Altra prova.cpp|21|undefined reference to `sf::Window::display()'|
obj\Debug\Altra prova.o(.text+0x463):C:\Users\cristian\Desktop\Diversity\Altra prova.cpp|24|undefined reference to `sf::RenderWindow::~RenderWindow()'|
obj\Debug\Altra prova.o(.text+0x504):C:\Users\cristian\Desktop\Diversity\Altra prova.cpp|24|undefined reference to `sf::RenderWindow::~RenderWindow()'|
obj\Debug\Altra prova.o(.text$_ZN2sf11CircleShapeD1Ev[sf::CircleShape::~CircleShape()]+0xb)||In function `ZN9__gnu_cxx13new_allocatorIcE10deallocateEPcj':|
C:\Dev-Cpp\bin\..\lib\gcc\mingw32\3.4.2\..\..\..\..\include\c++\3.4.2\bits\allocator.h||undefined reference to `vtable for sf::CircleShape'|
obj\Debug\Altra prova.o(.text$_ZN2sf11CircleShapeD1Ev[sf::CircleShape::~CircleShape()]+0x17):C:\Dev-Cpp\bin\..\lib\gcc\mingw32\3.4.2\..\..\..\..\include\c++\3.4.2\bits\allocator.h||undefined reference to `vtable for sf::CircleShape'|
obj\Debug\Altra prova.o(.text$_ZN2sf11CircleShapeD1Ev[sf::CircleShape::~CircleShape()]+0x22):C:\Dev-Cpp\bin\..\lib\gcc\mingw32\3.4.2\..\..\..\..\include\c++\3.4.2\bits\allocator.h||undefined reference to `sf::Shape::~Shape()'|
||=== Build failed: 19 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|



Mi dà un'errore praticamente per ogni stringa di sfml, ma non mi dà l'errore per le direttive al processore(<SFML/Graphics.hpp>)... Cosa stò sbagliando?

Il codice è questo:

#include <SFML/Graphics.hpp>

int main()
{
    sf::RenderWindow window(sf::VideoMode(200, 200), "SFML works!");
    sf::CircleShape shape(100.f);
    shape.setFillColor(sf::Color::Green);

    while (window.isOpen())
    {
        sf::Event event;
        while (window.pollEvent(event))
        {
            if (event.type == sf::Event::Closed)
                window.close();
        }

        window.clear();
        window.draw(shape);
        window.display();
    }

    return 0;
}

L'unica cosa che mi mette in dubbio è la versione, la guida dice che devo stare attento alla versione delle sfml che devo scaricare, deve essere compatibile con la versione del mio compilatore(e non ho idea di dove sia la cartella del compilatore), però nella lista dei download cìè solo un download da fare per gcc... Io non uso visual c++...
Cosa devo fare?

17 Risposte

  • Re: Problema installazione librerie SFML

    Ciao, come puoi vedere gli errori si riducono ad un insieme di undefined reference, il che significa che le librerie SFML non sono state correttamente linkate al tuo programma.
    1) Oltre agli header, hai incluso anche le librerie?
    2) Che sistema operativo e ambiente di sviluppo utilizzi? [url http://sfml-dev.org/tutorials/2.1/#getting-starte]Qui[/url] trovi tutte le informazioni per impostare correttamente le librerie qualsiasi ambiente utilizzi.
    Facci sapere se hai bisogno ancora di aiuto!
  • Re: Problema installazione librerie SFML

    tuixte ha scritto:


    Ciao, come puoi vedere gli errori si riducono ad un insieme di undefined reference, il che significa che le librerie SFML non sono state correttamente linkate al tuo programma.
    1) Oltre agli header, hai incluso anche le librerie?
    2) Che sistema operativo e ambiente di sviluppo utilizzi? [url http://sfml-dev.org/tutorials/2.1/#getting-starte]Qui[/url] trovi tutte le informazioni per impostare correttamente le librerie qualsiasi ambiente utilizzi.
    Facci sapere se hai bisogno ancora di aiuto!
    Si, ho incluso anche le librerie(andando nel linker, se guardi il mio messaggio c'è anche la guida precisa, la stessa della pagina che mi hai linkato)
    http://sfml-dev.org/tutorials/2.1/start-cb.ph
    se guadri sotto fino a dove si arriva search directorys\linker e devi includere <sfml-install-path>/lib



    Qua ho incluso le librerie

    Windows, Code::Block 13.12, SFML 2.1
    Grazie
  • Re: Problema installazione librerie SFML

    Stò provando a fare un'altro download(seguendo un video da internet), io ho scaricato le gcc perchè è l'unica a 64 bit senza visual studio ma il tizio stà scaricando quella mingw a 32 bit... Vi faccio sapere se funziona.
  • Re: Problema installazione librerie SFML

    Ok, non mi dà più errori per le librerie, anzi non mi dà errori, ma non mi fà aprire il progetto.
    Il rapporto del build:


    -------------- Build: Debug in Diversity (compiler: GNU GCC Compiler)---------------

    mingw32-g++.exe -LC:\Users\cristian\Desktop\SFML-2.1\lib -LC:\SDL\SDL2_image-2.0.0\i686-w64-mingw32\lib -LC:\SDL\SDL2_mixer-2.0.0\i686-w64-mingw32\lib -LC:\SDL\SDL2-2.0.3\i686-w64-mingw32\lib -o bin\Debug\Diversity.exe "obj\Debug\Altra prova.o" -lsfml-graphics -lsfml-window -lsfml-system
    Info: resolving sf::Color::Green by linking to __imp___ZN2sf5Color5GreenE (auto-import)
    Info: resolving sf::RenderStates::Default by linking to __imp___ZN2sf12RenderStates7DefaultE (auto-import)
    Info: resolving vtable for sf::CircleShapeby linking to __imp___ZTVN2sf11CircleShapeE (auto-import)
    obj\Debug\Altra prova.o(.text$_ZN2sf11CircleShapeD1Ev[sf::CircleShape::~CircleShape()]+0xb): In function `ZN9__gnu_cxx13new_allocatorIcE10deallocateEPcj':
    C:/Dev-Cpp/bin/../lib/gcc/mingw32/3.4.2/../../../../include/c++/3.4.2/bits/allocator.h: variable 'vtable for sf::CircleShape' can't be auto-imported. Please read the documentation for ld's --enable-auto-import for details.
    obj\Debug\Altra prova.o(.text$_ZN2sf11CircleShapeD1Ev[sf::CircleShape::~CircleShape()]+0x17):C:/Dev-Cpp/bin/../lib/gcc/mingw32/3.4.2/../../../../include/c++/3.4.2/bits/allocator.h: variable 'vtable for sf::CircleShape' can't be auto-imported. Please read the documentation for ld's --enable-auto-import for details.
    collect2: ld returned 1 exit status
    Process terminated with status 1 (0 minute(s), 0 second(s))
    0 error(s), 0 warning(s) (0 minute(s), 0 second(s))




    Non mi appare niente nello schermo... :/


    Credo che il problema sia che non riesce a trovare il file da caricare... Infatti se provo a farerun mi dice che il file non è stato costruito là, e se clicco che volgio costruirlo ora non succede comunque niente. Dove trovo il file .exe? Nella cartella bin del progetto non c'è...
  • Re: Problema installazione librerie SFML

    Ok, ho trovato il problema.. Praticamente è un problema che sembra abbastanza comune, in realtà è il problema della finestra pop-up che si apre e ti dice che il file non è stato costruito là. Su internet si trovano le soluzioni di un'altro tipo, il mio pop-up se premo "yes" non si chiude e si riapre, si chiude direttamente. E non succede niente. Nel run-log mi fà vedere che cerca il file .exe dalla cartella bin/debug del progetto, ma si blocca perchè non la trova. E nemmeno io. Perchè non riesce a caricare il file .exe? Il debugger e il build non mi danno nessun errore... Chi ha già avuto questi problemi?
  • Re: Problema installazione librerie SFML

    Non è che si potrebbe correggere il titolo del topic?
  • Re: Problema installazione librerie SFML

    Perchè? È sempre un problema per l'installazione delle librerie sfml.
  • Re: Problema installazione librerie SFML

    Ragazzi dopo vari giorni sono riuscio a risolvere il problema dell'exe ma adesso mi dice un'altro problema...

    Impossibile aprire nomefile.exe perchè sfml-graphics-2.dll non è presente nel computer. Per risolvere il problema, provare a reinstallare il programma.

    E nella cartella sfml 2.1 a sua volta dentro la cartella bin è presente sfml-graphics-2.dll!!! Perchè non lo trov?!
  • Re: Problema installazione librerie SFML

    Prova a mettere le .dll nella stessa cartella dell'eseguibile.
  • Re: Problema installazione librerie SFML

    Devid1910 ha scritto:


    Perchè? È sempre un problema per l'installazione delle librerie sfml.
    Mi riferivo semplicemente alla doppia 'z', mi urta un pochino, ma posso resistere
  • Re: Problema installazione librerie SFML

    mentat ha scritto:


    Devid1910 ha scritto:


    Perchè? È sempre un problema per l'installazione delle librerie sfml.
    Mi riferivo semplicemente alla doppia 'z', mi urta un pochino, ma posso resistere
    ah giusto non l'avevo notato xD

    tuixte ha scritto:


    Prova a mettere le .dll nella stessa cartella dell'eseguibile.
    già fatto(se per cartella dell'eseguibile intendi il nomefile.exe) non riesco a trovare una soluzione
    Ma ho dei dubbi sul regolare funzionamento del compilatore gdb...
  • Re: Problema installazione librerie SFML

    Fatto!!!!!!
    Dopo varie risoluzioni di programmi(dove ho fatto download su download, problemi che ne attiravano altri a effetto domino)sono riuscito ad arrivare al problema finale e.. *puuf!* senza aspettarmelo, dopo aver debuggato.. si apre la finestra SFML Works! e il pallino verde nello sfondo nero
    stò festeggiando


    ____
    10 minuti dopo
    altri errori! e questa volta non sembrano avere soluzioni... Why?! Provo a reinstallare tutto...
    ____
    3 minuti dopo
    Ok, ci sono.. sono di unovo a un'errore che avevo già risolto... speriamo bene..
    ____
    circa 30 minuti dopo
    posso riprendere a festeggiare
  • Re: Problema installazione librerie SFML

    Secondo me il successo è arrivato grazie alla correzione ortografica del titolo
  • Re: Problema installazione librerie SFML

    Sono contento per te
    Buona programmazione!
Devi accedere o registrarti per scrivere nel forum
17 risposte