Nich nachvollziehbarer Linkerfehler



  • Hallo,

    ich bekommen den berühmten Lnk2001:

    error LNK2001: Nicht aufgelöstes externes Symbol "_SDL_main".
    

    Nun aber zum interessanten Punkt. Ich verwende in diesem Projekt weder SDL noch etwas was auf SDL aufbaut. Schlimmer noch ich hab ne übergeordnete Projektmappe und folgende Projektstruktur

    root
    +Spiel (Projektmappe)
    +Editor (Projektmappe)

    Beide Projektmappen teilen sich gewisse Datein. Dabei gilt, dass Editor ein paar Datein von Spiel verwendet. Auch hier kein SDL verwendet. Spiel lässt sich aber kompilieren, linken und ausführen. Editor eben nicht. Kompilieren ja aber eben nicht linken, weil er SDL möchte (was im übrigen sogar vorhanden ist...).

    Was also ist das jez für ein Fehler?

    mfg freaker



  • Du scheinst doch irgendwo Verweise auf SDL zu haben. Prüfe am besten die Projekt-Einstellungen (mehrere Konfigurationen wie Debug/Release) und schau, ob du nicht einen Eintrag übersehen hast. Im Code hast du auch nichts dergleichen (SDL-Header inkludiert, #pragma -Direktiven)?

    Ansonsten ein neues Projekt erstellen.



  • Also den Code habe ich grade nochmal komplett durchgeschaut. Da ist weit und breit nichts zu finden von SDL. Ich habe eben nur in der IDE (VS 2005 express) Verweise auf SDL. Aber die waren vor kurzem noch in Ordnung und funktionieren ja (eben für das andere Projekt). Es muss also an dem einem spezifischen Projekt liegen. Werd mal versuchen n neues anzulegen. Falls es bleibt, muss es ja am Code liegen, oder?



  • Nö, liegt nicht am Code, sondern an den gelinkten Bibliotheken.



  • Warum klappts dann bei der einen Projektmappe und bei der anderen nicht, obwohl beide NICHTS mit SDL zu tun haben?



  • Vielleicht weil die eine doch was mit SDL zu tun hat.

    Wenn deine Aussage stimmt, dass der Code SDL nirgends referenziert, muss es an den Projekt- oder IDE-Einstellungen liegen. Anderseits sagst du auch, dass du dort nirgends SDL eingetragen hast. Ich vermute, du übersiehst etwas. Vielleicht ist auch irgendwo ein Fehler aufgetreten.

    Hast du jetzt schon ein komplett neues Projekt erstellt?



  • Entfern einfach die SDL Bibliothek aus den Linker-Abhängigkeiten...



  • Hab neues Projekt angelegt, Problem bleibt aber. Währendessen hab ich mal die Stelle gefunden. In der Tat SDL (Der Teil wurde mir "geschenkt", daher hatte ich ihn übersehen). Dennoch ist mein SDL-Setup komplett und richtig, weil es sich in beiden Projekten um die selbe Datei handelt (in der einen gehts, in der anderen nicht). Und auch sonst laufen alle meine SDL-Projekte.


Log in to reply