2Danke
ERLEDIGT
JA
JA
ANTWORTEN
7
7
ZUGRIFFE
1878
1878
EMPFEHLEN
-
19.06.11 21:47 #1
- Registriert seit
- Dec 2010
- Beiträge
- 9
Hallo,
ich hoffe, ich bin hier im Forum richtig.
Und zwar benutze ich den Visual C++ 2010 Express Compiler.
Wenn ich die Programme an andere weitergeben will, benötigen sie die "MSVCR100D.dll".
Kann man dies in den Einstellungen von Visual C++ ändern, dass diese DLL nicht mehr benötigt wird?
Sowas ähnliches hatte ich mal bei Rad Studio (hatte den mal als Test). Dort wurde eine DLL für Multithreading benötigt. Ist es sowas ähnliches auch bei VC++?
MfG
-
Hallo,
stelle sicher, dass du dein Programm im Release-Modus erstellt hast. Jeder, der dein Programm benutzen will, muss sich zusätzlich noch das Microsoft Visual C++ 2010 Redistributable Package installieren.
Alternativ kannst du dein Programm auch statisch gegen die Laufzeitbibliothek linken, falls das mit der Express-Version funktioniert (siehe http://msdn.microsoft.com/de-de/libr...v=VS.100).aspx).
Grüße,
Matthias„Gib einem Menschen einen Fisch, und er wird für einen Tag satt. Lehre ihn Fischen, und er wird ein Leben lang satt.“
“For every complex problem, there is an answer that is short, simple and wrong.”
“Pessimism is safe, but optimism is a lot faster!”
Aktuelles Coding Quiz: #17 - Wörter kreuz und quer
-
19.06.11 23:33 #3
- Registriert seit
- Dec 2010
- Beiträge
- 9
Ok, einen 4,8MB Download an ein Programm dran zu heften, was nichtmal 40KB groß ist, wäre etwas... naja...
So wie ich das jetzt verstanden habe, muss ich in jedem Fall die DLL dazu ausliefern bzw. dieses Redistrutable Package muss auf dem jeweiligen Computer installiert sein. (Jetzt weiß ich auch, weshalb das bei den ganzen Spielen immer mit installiert wird
)
Die Express-Variante bietet leider nicht die richtige Möglichkeit. Naja, werde es dann mit einem anderen Compiler mal versuchen.
Vielen Dank
MfGGeändert von Dampfhammer (19.06.11 um 23:40 Uhr)
-
20.06.11 07:45 #4
- Registriert seit
- Jun 2005
- Beiträge
- 8.169
Genau das ist der Punkt. Höchstwahrscheinlich ist die Laufzeitumgebung auf dem Zielcomputer bereits installiert. Und selbst wenn nicht und derjenige es für dein Programm erst noch installieren muß, ist die Wahrscheinlichkeit hoch, das derjenige es früher oder später auch für andere Programme benötigen wird.
Es ist eine einmalige Sache, für weitere Programme bzw. Programmversionen muß nicht jedesmal die komplette Laufzeitumgebung mitgeschleppt werden.
Dir sollte auch klar sein, das bei Verwendung der statischen Laufzeitbibliothek die generierte .exe um einiges größer sein wird (da die Laufzeitumgebung quasi mit in das Programm eingebettet wird).
Ich weiß nicht ob das mit der Express Variante möglich ist, aber normalerweise würde man einfach einen Installer generieren, der die fehlenden Komponenten automatisch runterlädt. Du könntest alternativ zum MS Setup Tool auch NSIS verwenden.
GrußIf at first you don't succeed, try again. Then quit. No use being a damn fool about it.
-
20.06.11 12:39 #5
- Registriert seit
- Dec 2010
- Beiträge
- 9
So, ich habs grade mal einem Kumpel geschickt, der das Package wirklich installiert hat.
Bei ihm klappt es auch nicht, also die Fehlermeldug bezüglich der fehlenden DLL erscheint immernoch.
Einen Installer für solche winzigen Programme zu machen, die eigl nur aus einer .exe bestehen, scheint mir auch etwas... naja...
Aber vielen Dank! Hab jetzt auch was dazu gelernt.
MfG
-
Hallo,
endet der DLL-Name mit 'D' dann ist es die Debug-Variante und die ist im Redistributable Package natürlich nicht enthalten. Lies nochmal den ersten Satz der Antwort von Matthias Reitinger.
Gruß
MCoder"The three chief virtues of a programmer are: Laziness, Impatience and Hubris."
--- Larry Wall
-
20.06.11 13:12 #7
- Registriert seit
- Jun 2005
- Beiträge
- 8.169
Das kommt auf die Zielgruppe an.
Wenn DAUs Teil deiner Zielgruppe sind, dann willst du denen nicht sagen, das sie irgendwo erst was runterladen und installieren müssen...
Wenn du dein Programm nur an einen Kumpel weitergeben willst, dann sag ihm einfach das er die MSVC Redist installieren muss. Das ist dann geringerer Aufwand.
GrußIf at first you don't succeed, try again. Then quit. No use being a damn fool about it.
-
20.06.11 13:38 #8
- Registriert seit
- Dec 2010
- Beiträge
- 9
Die MSVCR100D.dll wird immer benötigt, egal, ob ich auf Debug oder Release gestellt habe (eingestellt hab ich das passende auch, bzw. alles durchversucht).
Habs mal mit Dev-C++ versucht. Da sind die Programme um einiges größer (das 10-fache ca.) und benötigen dann keine DLL. Also für mich nehme ich dann VC++ und wenn das Programm dann fertig ist, lass ich das durch Dev-C++ durchlaufen.
Edit: GARR! Ok, es funktioniert doch mit VC++. Ich war so blöd und habe die Dateien immer aus dem Ordner mit dem Namen Debug geholt... natürlich waren da immer nur die Dateien drin, die rausgekommen sind, als ich den Debug-Modus an hatte... In einem anderen Ordner waren dann die release-Dateien... also es funktioniert jetzt auch ohne zusätzlichen Download.
Vielen Dank an euch zwei
MfGGeändert von Dampfhammer (22.07.11 um 05:49 Uhr)
Ähnliche Themen
-
.NET Umgehen
Von WorldRacer im Forum .NET CaféAntworten: 3Letzter Beitrag: 05.08.08, 11:19 -
Session umgehen!?
Von DJLopez im Forum PHPAntworten: 1Letzter Beitrag: 24.04.07, 16:06 -
proxy umgehen
Von rauchmelder im Forum Security (Viren, Trojaner, Spam)Antworten: 4Letzter Beitrag: 22.09.04, 14:34 -
Wie GB-Begrenzung umgehen?
Von Moritz123 im Forum HardwareAntworten: 2Letzter Beitrag: 10.09.04, 11:54 -
Cache umgehen
Von tam im Forum Flash PlattformAntworten: 3Letzter Beitrag: 07.08.04, 13:52





Zitieren

Login






