Gibt es VC++ Runtime Komponenten
-
Marco230482_ohne_Cookie schrieb:
Gibts irgendwo ne Anleitung, wie man eine normale ausführbare Datei aus seinem Projekt erstellt?
HeikoKortlang hat in diesem Thread bereits beschrieben, wie man einen Release-Build erstellt...
-
OK, dann werde mich mal damit mein Glück versuchen.
Danke allen.
CU

-
Unterschiedliche MFC-DLL-Versionen sind ein Problem
Noe ! Jedes Programm was den Anspruch erhebt, ernst genommen zu werden, bringt nen Setup mit, sobald nur irgendetwas dynamisch gelinkt wird. Da alle Dlls abwaertskompatibel sein (sollten), ist das kein thema ... installieren, und bei bedarf wird die neue dll druebergepumpt.
Zum weiterreceischen an freunde auf den 2. Rechner etc ist das natuerlich overhaed. Aber wenn man mit nem VC++ 7 compiler ne exe erstellt, sollt man wissen, das man die mfc.dll dann auch an den rechner mit vc++ 6.0 oder ganz ohne VS geben sollte ...
Und blos nicht in den Projekt Einstelungen was verändern.

5 minuten nach dem erstellen eines Projektes mit dem VC++ 6.0 ist nix mehr so wie vorher !!!

die Temp-verzeichnisse liegen doof.
Warum sieht man nem binary ned an, wie es compiliert wurde !
*.dbg.exe, *.exe *.U.dbg.exe *.U.exe helfen echt enorm ...
das selbe mit dll lib etc ...
warum kommen die nicht gleich in nen /bin verzeichniss ???Ciao ...
-
Macht mich doch nicht fertig.
Was kann ich denn nun machen, bzw. was ist besser:
DLL's manuell ins System-verzeichnis kopieren oder eine Release-Version erstellen.
Bitte auf normal deutsch und für solche, die erst seit 2 Jahren C++ Programmieren.
CU

-
RHBaum schrieb:
Unterschiedliche MFC-DLL-Versionen sind ein Problem
Noe ! Jedes Programm was den Anspruch erhebt, ernst genommen zu werden, bringt nen Setup mit, sobald nur irgendetwas dynamisch gelinkt wird.
Das ist IMHO genau die Argumentation, die so viele Anfänger zu "statisch-Linkern" macht. Ich will kein Setup erstellen oder weiß nicht wie -> statisch linken. Die Programme vieler, die hier fragen, erheben diesen Anspruch einfach nicht...
Da alle Dlls abwaertskompatibel sein (sollten), ist das kein thema ...
Ich will dir ja nicht deine Illusionen rauben, aber...

Warum sieht man nem binary ned an, wie es compiliert wurde !
*.dbg.exe, *.exe *.U.dbg.exe *.U.exe helfen echt enorm ...
das selbe mit dll lib etc ...
warum kommen die nicht gleich in nen /bin verzeichniss ???Fragen, deren Beantwortung niemandem weiterhilft....
-
Marco230482 schrieb:
Was kann ich denn nun machen, bzw. was ist besser:
DLL's manuell ins System-verzeichnis kopieren oder eine Release-Version erstellen.
Falls das immer noch nicht klar geworden ist: Letzteres.
-
RHBaum schrieb:
Und blos nicht in den Projekt Einstelungen was verändern.

5 minuten nach dem erstellen eines Projektes mit dem VC++ 6.0 ist nix mehr so wie vorher !!!

die Temp-verzeichnisse liegen doof.
Warum sieht man nem binary ned an, wie es compiliert wurde !
*.dbg.exe, *.exe *.U.dbg.exe *.U.exe helfen echt enorm ...
das selbe mit dll lib etc ...
warum kommen die nicht gleich in nen /bin verzeichniss ???Ciao ...
Ok hast mich erwischt, ich hab mich nicht klar ausgedrückt.
Aber über welches Thema reden wir hier?
Dies war darauf natürlich bezogen, ich habe ja den Weg beschrieben wie man ein Programm mit VC6 kompiliert das man weitergeben kann.
-
Ok hast mich erwischt, ich hab mich nicht klar ausgedrückt.
Nene, mein Fehler, klang so wie ... ruehr ja nix in den Projekteinstellungen an ! Das konnt ich so ned stehen lassen ... hat aber nix mit dem Thema zu tun !!!
Das ist IMHO genau die Argumentation, die so viele Anfänger zu "statisch-Linkern" macht. Ich will kein Setup erstellen oder weiß nicht wie -> statisch linken.
Ja, aber nicht die Argumentation ist schuld, sondern die Furcht vor der "Arbeit" ! Und halt die Furcht vor Dlls allgemein (Vertrieb gehoert dazu) ! Wer sich das ned antun will Soll statisch linken, zumindest im Release. !!! Und ja, ich linke auch oft und gern statisch ... wegens Geschwindigkeit (naja, ist auch Augenwischerei) und kompatiblitaet. User sind greasslich, und nen Setup Idiotendicht zu machen, ist manchmal auch ne Lebensaufgabe ! :p
Wenigstens Fragt hier M$ wenn es nen Project anlegen tut. Wenn man sich die Philosophie von M$ in sachen userinterface anschaut ... unterstreicht dieses Nachfragen nur die Beduetung der Tragweite dieser Einstellung ! :-)))Die Programme vieler, die hier fragen, erheben diesen Anspruch einfach nicht...
Noe, trotzdem muss man sich mit der Sache auseinandersetzen. Frueher oder spaeter bekommt man die probleme. ist sicher hoffentlich auch nicht das letzte programm das einer schreibt ... :p
Das war auch mehr nen Hieb gegen die Programme, die man irgendwo auf zwielichtigen servern runterladen kann, um, sagenwir mal spielstaende zu manipulieren
wo der Author voll stolz ist auf sein Werk (manchmal auch berechtigt) aber 123845 User die foren voll spammen, weil er vergessen hat die Dlls auszuliefern ... Nachtraeglich kommt zusaetzlich nen download, wo man die Dlls beziehen kann, und 237485673 Posts spaeter hat auch der letzte User begriffen, wie er das programm zum laufen bringt
Verteilung gehoert mit zum Entwicklungsprozess !!! Und bei vielen Projekten hat die Verteilungsstrategie imensen Einfluss auf das Design !!!
Und freuh uebt sich ... wer spaeter mal nen leichtes leben haben will
@Marco230480DLL's manuell ins System-verzeichnis kopieren oder eine Release-Version erstellen.
Beides !!!

Prinzipiell ... auf jedem rechner wo du nicht debuggst, nimmst ne release version !!! wenn das programm kopierst, auch sicherstellen das die (Release) dll auf dem rechner existiert. Musst kein setup schreiben sondern check einfach, ob die mfc*.dll aelter oder nicht vorhanden, dann kopier die rueber ... Das ist standard vorgehen auch bei den Profism, wenn sie kein Setup brauchen (also nur auf ne kleine anzahl von rechnern verteilen wo sie zugriff drauf haben).
Ich koennt jetzt erwaehnen das ichs auch so mache, tu ich aber nich ...
Ciao ...
-
Genau jetzt gehts bald.
Hatte schon ne Release Version erstellt, ausprobiert und : ERROR.
Die DLL-Dateien hatte er wieder nicht gefunden. Ich hatte eigentlich gedacht, daß die Release-Version die DLL's enthält!
Also noch die mfc*.dll kopieren und hoffen, daß es jetzt endlich funktioniert.
CU

-
Marco230482_ohne_Cookie schrieb:
Hatte schon ne Release Version erstellt, ausprobiert und : ERROR.
Wäre jetzt gut zu wissen, wie genau die Fehlermeldung lautet, d.h. welche DLL fehlt.
Ich hatte eigentlich gedacht, daß die Release-Version die DLL's enthält!
Das hat nie jemand gesagt. Die Release-Version ist nur gegen DLLs gelinkt, die eigentlich überall vorhanden sind.
Also noch die mfc*.dll kopieren und hoffen, daß es jetzt endlich funktioniert.
Zeig uns lieber die Fehlermeldung.
-
@RHBaum:
kein Problem, ich hab auch meine Projekteigenschaften angefasst und noch weitere Profile hinzugefügt. Zum Beispiel eins in dem die Browser Datei erstellt wird.@ALl:
An allem ist Microsoft schuld
Sie hätten die Oberfläche im Default besser einrichten sollen, dann hätten sie nämlich die normale Erstellen Symbolleiste angezeigt. In dieser ist noch ein PullDown Menü indem man das aktuelle Profil auswählen kann (Release / Debug). Dann würden sicherlich weniger dieser Fragen aufkommen.@Marco230482_ohne_Cookie:
Sobald die Felhermeldung so klang:
MFC42D.dll fehlt
dann hast du nicht die Release Version, das D bedeutet Debug.