Mein Spiel will nicht auf anderen Rechnern laufen :(



  • Hi,
    Ich habe ein kleines Spiel mittels MS VS 2005 erstellt. Das Spiel benutzt SDL, RakNet und guichan. Wenn ich es auf einem anderen XP-Rechner ausprobiere funktioniert es nicht. Es kommt immer folgende Fehlermeldung: "Die Anwendung konnte nicht gestartet werden weil die Anwendungskonfiguration nicht korrekt ist. ... Installierne Sie neu ... ."
    Ich (glaube) ich habe alles mitgelinkt. Ich habe auch den kompletten Debug-Ordner rüber kopiert aber läuft trotzdem nicht. Habt Ihr eine Idee?

    Danke.



  • Ja. Nimm Linux.



  • die debugversion sollte nicht ausgeliefert werden. versuch die release zu bauen und auszuliefern. notfalls noch:

    http://www.microsoft.com/downloads/details.aspx?FamilyID=200b2fd9-ae1a-4a14-984d-389c36f85647&displaylang=en

    instalieren.



  • Also die Release hatte ich natürlich auch schon probiert 😉
    Also das Redistributable Package hat leider nicht geholfen. Ich denke mal das liegt an der Konfiguration und nicht an den Bibliotheken. Wenn ich eine einfache Hello World Konsolenanwendung auf dem anderen Rechner ausführen lassen will kommt die selbe Fehlermeldung.

    weitere tipps?



  • Da fehlen irgendwelche DLLs oder haben die falsche Version. Nimm dependency walker und schau.

    PS: Hat einer mein Fahrrad gesehen? Ich habs da Rund um den PC abgestellt und jetzt hat es einer geklaut.



  • die frage kommt jeden monat zweimal oder so 🙂

    entweder du linkst die runtime statisch (einfachste möglkichkeit) oder installierst die runtime-packages, also die vcredist_x86 oder x64 je nachdme was du für nen OS hast. Das funktioniert eigentlich. Mal noch nachm manifest gucken und so, such mal im forum nach maifest oder anwendungskonfiguration.

    Das Problem kommt, weil die exe bestimmte DLLs erfordert, die auf normalen systemen nicht drauf sind. Deshalb kommt die komische meldung.



  • Übrigens komme ich mir mit dem Redistributable Package ganz schön verarscht vor! Da schreibt man schon C++ und kein C# oder Java, und dann braucht der ausführende Computer trotzdem irgendwelchen zusätzlichen Scheiß 😡 👎
    Sorry, aber da platzt mir der Hals 👎



  • Badestrand schrieb:

    Übrigens komme ich mir mit dem Redistributable Package ganz schön verarscht vor! Da schreibt man schon C++ und kein C# oder Java, und dann braucht der ausführende Computer trotzdem irgendwelchen zusätzlichen Scheiß 😡 👎
    Sorry, aber da platzt mir der Hals 👎

    Man kann doch die CRT statisch linken und das Problem ist verschwunden.



  • hals schrieb:

    Man kann doch die CRT statisch linken und das Problem ist verschwunden.

    Oh ok, dachte bei VS 2005 wäre das generell so 😃



  • Badestrand schrieb:

    hals schrieb:

    Man kann doch die CRT statisch linken und das Problem ist verschwunden.

    Oh ok, dachte bei VS 2005 wäre das generell so 😃

    Warum sollte es? Wenn mehrere Programme die gleiche CRT einsetzen ist es nicht unbedingt sinnvoll diese statisch zu linken.

    cu André



  • Generell ist das so. Ist halt die Standard-Einstellung. Man muss nur wissen, was man umstellen muss 😉

    Gruß
    Don06



  • Na das wäre ja noch schöner.

    Statisch linken hat auch Nachteile und wird bei msdn strikt abgeraten. Da dabei die Runtime Dlls nicht automatisch updated werden und die Programme bisschen großer sind.

    Insgesamt mag ich statisch linken aber auch viel mehr. Deshalb bin ich ja zu C++ gegangen damit mit eben keine Frameworks voraussetzen muss...



  • Danke für eure Hilfe, habe es mit dieser Anleitung hinbekommen http://www.spieleprogrammierer.de/phpBB2/viewtopic.php?p=46906&



  • Danke für den Link. Wirklich sehr informativ.



  • Dieser Thread wurde von Moderator/in rüdiger aus dem Forum Rund um die Programmierung in das Forum Compiler- und IDE-Forum verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • sap schrieb:

    Na das wäre ja noch schöner.

    Statisch linken hat auch Nachteile und wird bei msdn strikt abgeraten. Da dabei die Runtime Dlls nicht automatisch updated werden und die Programme bisschen großer sind.

    Insgesamt mag ich statisch linken aber auch viel mehr. Deshalb bin ich ja zu C++ gegangen damit mit eben keine Frameworks voraussetzen muss...

    Die C Runtime ist aber kein Framework, sondern einfach nur eine Library. Und diese war schon IMMER Voraussetzung für C++-Programme. War schon zu Win95-Zeiten so und ist heute auch nicht anders. Nur waren damals immer reinzufällig die "aktuellen" bei den Windows schon dabei. Und heute ist halt Die C Runtime aus MSVC8.0 aktueller als die es im Windows gibt.

    Ihr solltet mal überlegen, was ihr hier in diesem Thread für einen Hickhack macht, der völlig blödsinnig und unberechtigt ist. Weil sich seit über 10 Jahren das Prinzip nicht geändert hat. Aber heute fällt euch auf, das ein C Programm eine Runtime-Lib braucht. Was habt ihr denn die legtzten 10 Jahren gedacht? Das Zeug läuft ohne C Runtime???



  • Du hast nur bedingt recht. Ein C Runtime braucht nur eine hosted Implementierung, ein freestanding dagegen nicht.



  • Artchi schrieb:

    Ihr solltet mal überlegen, was ihr hier in diesem Thread für einen Hickhack macht, der völlig blödsinnig und unberechtigt ist. Weil sich seit über 10 Jahren das Prinzip nicht geändert hat. Aber heute fällt euch auf, das ein C Programm eine Runtime-Lib braucht. Was habt ihr denn die legtzten 10 Jahren gedacht? Das Zeug läuft ohne C Runtime???

    es geht ja wohl darum, dass man die runtime-dlls nicht mehr einfach dazulegen kann und gut is. dieser manifest-kram ist lästig, unnütz und kann schnell unübersichtlich werden. schon mal ne versucht ne anwendung zum laufen zu bringen, die 3 eigene und ein paar fremde dlls mitbringt und sowohl als debug- als auch als releasebuild ohne lästige redist-installation auf jeden rechner laufen soll? viel spaß dabei.



  • Nein, dieser Manifest-Kram ist endlich mal was vernünftiges um der DLL-Hölle zu entkommen. Nur weil ihr es nicht versteht, muß es nicht heißen, das es schlecht ist. Wie immer: das Problem sitzt meistens nicht im sondern vorm PC!


Anmelden zum Antworten