Visual Studio 2015 findet sfml-audio-s.lib nicht



  • Hallo Community,

    ich bin neu auf dem Forum sowie bei C++. Bis jetzt habe ich nur kleinere Rechenprogramme geschrieben.
    Ich bin gerade dabei dieses Tutorial anzuschauen ( https://www.youtube.com/watch?v=qrZ8EZPV6Kk&index=1&list=PL9vqpRoHSNDf72tpmCrcghF-YXKYxnjpd ). Bis jetzt habe ich immer Dev-Cpp verwendet und ich komme mit Visual Studio 2015 leider nicht zurecht. Zum einen wenn ich ein neues Projekt mache kann ich manuell keine Quelldateien hinzufügen (bei Installiert steht dann einfach nichts). Es funktionert nur wenn ich ein Projekt als ConsoleApplikation mit einer vorkompilierten Quelldatei erstelle.
    Mein 2. Problem ist, dass wenn ich beim Eigenschaften - Linker - Eingabe z.B. sfml-audio-s.lib als zusätzliche Abhängigkeit einstelle kommt bei mir immer:" Datei "sfml-audio-s.lib" kann nicht geöffnet werden".

    Ich hoffe ihr könnt mir helfen und schonmal Danke im vorraus 🙂

    Grüße,
    nmmrnc





  • Danke für die schnelle Antwort 🙂

    Leider kann ich immernoch keine Quelldateien hinzufügen, weil es keine Vorlagen (wie bei den Projekten) gibt. Dies ist der Grund wieso ich es nicht genauso machen kann wie auf der Seite von sfml.
    Das Problem mit der *.lib_Datei konnte ich lösen.
    Leider sind aber neue Fehler aufgetreten, z.B.:
    "Fehler LNK2019 Verweis auf nicht aufgelöstes externes Symbol „“__declspec(dllimport) public: virtual __cdecl sf::RenderWindow::~RenderWindow(void)“ (__imp_??1RenderWindow@sf@@UEAA@XZ)“ in Funktion „main“. ConsoleApplication1 C:\Users\Naomi\Documents\Visual Studio 2015\Projects\ConsoleApplication1\ConsoleApplication1\ConsoleApplication1.obj 1"

    Das Problem liegt hier (wenn ich das richtig verstehe) bei einem Verweis auf eine nicht existierende *.dll-Datei oder? 😕

    Grüße,
    nmmrnc



  • Quelldateien einfügen geht über [Project]->[Add New Item].

    Was ich persönlich mal gemacht hatte, ist das Beispiel-Programm zum laufen bringen und dann ein Template davon machen. https://msdn.microsoft.com/en-us/library/xkh1wxd8.aspx

    Bitte beachten:

    [ ] Wenn du unter [Project]->[Properties] Einstellungen tätigst, immer darauf achten was als "Configuration" und "Platform" ausgewählt ist.
    [ ] Der Pfad "<SFML_ROOT>/include" ist unter [Project]->[Properties]->[C/C++]->[General] unter "Additional Include Directories" angegeben.
    [ ] Der Pfad "<SFML_ROOT>/lib" ist unter [Project]->[Properties]->[Linker]->[General] unter "Additional Library Directories" angegeben.
    [ ] Du hast dich entschieden ob du statisch linken oder shared libraries verwenden möchtest.
    static linking:
        [ ] Unter [Project]->[Properties]->[C/C++] bei "Preprocessor Definitions" 'SFML_STATIC' einfügen.
        [ ] Für Debug bzw. Release jeweils die Libs angeben unter [Project]->[Properties]->[Linker]->[Input] unter "Additional Dependencies" (das sind die mit "-s-d bzw. -s" im Namen), mit .lib hinten dran.
        [ ] Wenn ich mich recht erinnere ist dabei die Reihenfolge wichtig, müsstest du nochmals nachlesen.
        [ ] Bitte beachten: Für statisches Linken musst du zusätziche Libs angeben: http://www.sfml-dev.org/faq.php#build-link-static
    dynamic linking:
        [ ] Einfach dieselben libs ohne "-s" im Namen linken, und die nötigen dlls (aus "<SFML_ROOT>/bin") in deinen Project Ordner kopieren, damit dein Programm sie finden kann.
    
    [ ] Auch wichtig ist, dass man nicht x32/x86 und x64 bit Versionen von Compiler/Library/Platform vermischt. 
        Die Version deiner SFML Installation muss auch zu deiner Compiler Version passen. Nicht Debug/Release vermischen.
    

    Ich würde nochmals von vorne anfangen, und das Tutorial zum Erstellen eines VS Projekts sehr sorgfältig durchlesen.
    Wenn du VS2015 hast, und die richtige SFML-Version heruntergeladen hast, dann solltest du via dem Tutorial das zum laufen bringen. Der Teufel liegt im Detail.

    Es gibt auch ein SFML Forum, da findet eventuell mehr Leute die sich damit auskennen http://en.sfml-dev.org/forums/.

    LG



  • Wenn ich Quelldateien einfüge, sollte ja eigentlich ein Fenster kommen wo ich eine Vorlage auswählen kann (auch nicht online, da gibt es nur Beispiele) z.B. ob ich C# oder C++ nehmen will, aber bei mir kommt einfach nur "Es wurden keine Elemente gefunden". Auf der Seite von Microsoft habe ich leider auch nicht gefunden wie ich diese Vorlagen importieren/herunterladen oder öffnen kann.
    Wenn ich eine Quelldatei (die nicht in einem Projekt ist) öffne, kann ich diese auch nicht kompilieren.
    Die SFML habe ich nach deiner Beschreibung eingebunden, aber leider kommen immernoch dieselben Fehrler:

    Fehler	LNK2001	Nicht aufgelöstes externes Symbol ""__declspec(dllimport) public: static class sf::RenderStates const sf::RenderStates::Default" (__imp_?Default@RenderStates@sf@@2V12@B)".c:\Users\Naomi\documents\visual studio 2015\Projects\ConsoleApplication2\ConsoleApplication2\ConsoleApplication2.obj	1
    

    Ich verstehe wirklich nicht wieso das nicht funktioniert.
    Danke für deine Hilfe.

    LG nmmrnc





  • Nein nicht ganz. Ich kann leere Projekte erstellen, aber dort (bzw bei allen Projekten) dann keine Quelldateien hinzufügen. Das Fenster wird geöffnet nachdem ich auf "Quelldatei hinzufügen" geklickt habe aber dort steht dann eben "Es sind keine Elemente vorhanden". Kann man hier irgendwie Bilder verschicken? dann würde ich einen Screenshot machen... Ist irgendwie etwas schwer zu erklären.
    Der voher beschriebene Fehler ist aber glaube ich unabhängig davon aufgetreten.



  • Das kommt nicht selten vor, dass man anfangs beim Linken mit SFML Probleme hat. Die Suche nach "unresolved external symbol" im SFML Forum gibt 422 Treffer 🤡

    Was dein Quelldatei Problem angeht einfach mal googeln.


Anmelden zum Antworten