Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

14.05.2014, 07:32

(Mal wieder) Programm auf anderem PC starten

Guten Morgen,

ich sitz hier seit gestern Abend und versuche, eine Möglichkeit zu finden, mein VC++ Project (SDL2) auch auf einem anderen PC zum Laufen zu bringen. Wie ihr es bestimmt auch schon erlebt habt, bekomm ich den Error, die Side-by-Side Konfiguration sei inkorrekt. Das läge an fehlenden .dll Dateien, die im Redistributable Package VC++ 2010 drin seien. Natürlich hab ich schon wie ein wilder gegoogelt ,aber nur wenige Lösungen gefunden (teils auch ohne das Package zu installieren), die aber nicht funktionierten. Lösungen seien:

das Projekt statisch zu linken, was bisher aber nicht richtig geklappt hat,

das Service Pack von MS, das die benötigten .dll Dateien angeblich beinhaltet auf jedem Rechner der Welt zu installieren (hier zu wollte das aber nichtmal ein PC. Es wurde behauptet, eine neuere Version sei bereits installiert worden), http://www.microsoft.com/en-us/download/details.aspx?id=5555

oder einfach den Compiler zu wechseln.

Zum letzteren: Gibt es diesen Error auch mit Visual Studio (2013 oder 2014)? Wenn nicht, dann würde ich den Compiler wechseln. Kann ich in dem Fall meine Projektdateien auch in VS öffnen? Und wie seid ihr mit dem Problem umgegangen; welchen Weg, es zu umgehen, seht ihr als den Besten an?

Vielen Dank an alle, die versuchen, zu helfen :)

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

2

14.05.2014, 08:16

Das Problem wirst Du mit jedem Visual Studio haben (es gibt übrigens noch gar kein Visual Studio 2014). Installier das richtige Redistributable Package (dies ist der beste Weg!) oder linke eben statisch.
Ehrlich gesagt klingt es aber eher so, als ob Du irgendwie 64-Bit und 32-Bit DLLs mischst. Ich nehme an Du hast einen 32-Bit-Build und auf Deinem Rechner läuft alles korrekt? Schon das hier versucht? Wenn es auf Deinem Rechner nicht läuft, liegt das Problem ganz woanders, denn die Runtime wird mit Visual Studio mit installiert.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von »BlueCobold« (14.05.2014, 08:25)


3

14.05.2014, 14:24

Um sauber eine, mit VC++ kompilierte, Anwendung auf einem fremden Rechner ohne Visual Studio (SDK) starten zu können musst du:
  • Im Visual Studio Release Modus kompilieren
  • Eine der folgenden Optionen befolgen:
    • Das Visual C++ Redistributable in der äquivalenten Version auf dem Zielrechner installiert haben
    • beim Kompilieren das C++ Redist. statisch linken (/MT bzw. /MTd als Compileroption). Für weitere Informationen siehe http://msdn.microsoft.com/en-us/library/2kzt1wy3.aspx
    • die nötigen VC++ Redist Komponenten mit deiner Applikation distribuieren
  • (Möglichst plattformspezifische Compilerwarnungen beachten und nicht nur weg #pragma warning'en)
EnvisionGame(); EnableGame(); AchieveGame(); - Visionen kann man viele haben. Sie umzusetzen und auf das Ergebnis stolz zu sein ist die eigentliche Kunst.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »iSmokiieZz« (14.05.2014, 14:30)


4

15.05.2014, 09:00

Soweit klingt das statische Linken schon sehr gut. Aber benötige ich dafür denn nicht auch eine statisch gelinkte SDL?

Das Distribuieren scheint auch eine gute Möglichkeit zu sein. Könnt ihr mich darüber aufklären? Oder gibt es dafür eine Option in den Projekteinstellungen?

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

5

15.05.2014, 09:11

Hast Du das Redist ausprobiert, welches ich verlinkt hatte? Denn das ist der empfohlene und beste Weg.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

6

20.05.2014, 20:42

Ja, hat aber auch irgendwie nicht funktioniert. Ich hab es jetzt irgendwie hinbekommen:
-VC++ mit /MTd kompillieren lassen.
-in VC++ /MT einstellen
-VC++ schließen
-kompilierte.Exe löschen
-VC++ wieder starten, neu kompillieren
-glücklich sein :)

Hoffe, damit können auch Andere, die VC++ Express 2008 benutzen, was anfangen

7

20.05.2014, 22:06

Oo.. Was hantierst du denn noch mit vs 2008 rum?
EnvisionGame(); EnableGame(); AchieveGame(); - Visionen kann man viele haben. Sie umzusetzen und auf das Ergebnis stolz zu sein ist die eigentliche Kunst.

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

8

21.05.2014, 09:02

Exe löschen und VC neu starten? Rebuild oder Clean+Build sollte dasselbe tun. Allerdings bringt es natürlich nichts ein VC2010 Redist zu installieren, wenn Du ein VC2008 nutzt. Dann muss natürlich das VC2008 Redist auf dem Zielrechner installiert werden.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Werbeanzeige