-
06. 10. 2011, 18:47 #1
[VS2010 - C++] Programm Kompilieren ohne Zusätze, für nutzung auf anderem Computer
Hi!
Ich hab ein ganzes einfaches Programm geschrieben mit der iostream und der ctime bibliothek!
Wie kann ich das Programm so kompilieren dass es auf anderen Rechnern läuft (mit VS2010), ohne das ich .net oder vcredist oder sonstiges mist installieren muss!
Ohne dieses zeug meckert er immer an ein paar dll's rum, die fehlen z.b. msvcp100.dll^^
Wie kann ich das Programm nun kompilieren ohne diesen mist???
-flasher
-
06. 10. 2011, 23:56 #2
Re: [VS2010 - C++] Programm Kompilieren ohne Zusätze, für nutzung auf anderem Compute
>> Wie kann ich das Programm so kompilieren dass es auf anderen Rechnern läuft (mit VS2010), ohne das ich .net oder vcredist oder sonstiges mist installieren muss!
Gar nicht.
>> Ohne dieses zeug meckert er immer an ein paar dll's rum, die fehlen z.b. msvcp100.dll^^
Sollte nur diese eine sein. Und die muss auf dem Zielrechner installiert sein. Oder du lieferst die DLL mit aus. Oder du kompilierst die CRT statisch in das Binary. Das sollte automatisch im Release-Modus passieren. (Debug-Modus auf anderen Computern macht nicht viel Sinn, zumal der Compiler im Debug-Modus nicht optimiert (!)).
Das Problem gab es schon so oft, da musst du einfach mal Google bemühen. Stichworte: CRT statisch linken C++ Visual Studio
>> Wie kann ich das Programm nun kompilieren ohne diesen mist???
Das ist kein Mist, das ist das Herz von C++ auf Windows.
-
07. 10. 2011, 04:20 #3
Re: [VS2010 - C++] Programm Kompilieren ohne Zusätze, für nutzung auf anderem Compute
Du kannst Dir natürlich auch Deine eigene Runtime programmieren. Würde ich Dir aber nicht empfehlen.Wie kann ich das Programm nun kompilieren ohne diesen mist???
Edit:
Ich benutze in letzter Zeit auch viel CodeBlocks in Verbindung mit Mingw. Damit gibt es weniger Probleme. Vor allem wenn Du auch für ältere System (Win2000, WinXP) ausliefern musst/willst. Allerdings werden die ausführbaren Dateien dann nochmal um einiges Größer/Langsamer als mit dem M$ Compiler/Linker :P. Aber das interessiert heute niemanden mehr so richtig
.Geändert von lupo1977 (07. 10. 2011 um 04:29 Uhr)
-
07. 10. 2011, 06:43 #4
Re: [VS2010 - C++] Programm Kompilieren ohne Zusätze, für nutzung auf anderem Compute
Jetzt soll sich mal bitte mal einer Fragen, warum ich Microsoft hasse^^
Dieses CRT Kram hab ich nicht gefunden in den Einstellungen (wahrscheinlich fehlt das bei VS2010)!
Aber ich hab jetzt mal in den Einstellungen, dieses zusätzliche Runtime kram auf nicht vorhanden gestellt und die MFC Bibliothek auf statisch!
Ich habs mal auf nem andern PC ausgetestet (bin mir aber fast schon sicher, dass dort weitere M$ Bibliotheken installiert waren) und es hat funktioniert!
Was sagt ihr dazu, geht das jetzt auf sogut wie allen Rechnern, oder nicht?
-flasher
-
07. 10. 2011, 06:49 #5
Re: [VS2010 - C++] Programm Kompilieren ohne Zusätze, für nutzung auf anderem Compute
Niemand zwingt Dich VS2010 einzusetzen.
Microsoft scheint sein VC++ nur noch Stiefmütterlich zu behandeln. Du solltest wirklich über legen zu C# zu wechseln
.
Wenn die Rechner alle aktuellen Updates haben hast Du gute Karten. Bei älteren Systemen wirst Du Probleme bekommen.Was sagt ihr dazu, geht das jetzt auf sogut wie allen Rechnern, oder nicht?
-
07. 10. 2011, 11:39 #6
Re: [VS2010 - C++] Programm Kompilieren ohne Zusätze, für nutzung auf anderem Compute
Lupo, blöde Frage, aber kontrollier mal ob bei den Compilerflags für Mingw -O angegeben ist. Mich würd das doch verwundern wenn MS etwas kompakter hält als so manch Open Source Compiler

Die MSVC Runtime wird, wenn ichs richtig weiß, net mit den Updates ausgeliefert. Dafür installiert so gut wie jedes neue Spiel (bsp. Battlefield 3 Beta) die Runtime nach, da es ansonsten zu hässlichen Fehlern kommt. Lustig dann nur, wenn die Installation einen Fehler meldet, wenn die Runtime schon darauf installiert ist.
Und hey, nichts gegen MSVC Runtimes - die ATI Treiber benötigen das .Net Framework, damit sie überhaupt sich installieren lassen :P
-
07. 10. 2011, 13:30 #7
Re: [VS2010 - C++] Programm Kompilieren ohne Zusätze, für nutzung auf anderem Compute
Dann wird ich mal sagen ATI RAUS!!!
D
Aber es ist doch dumm, das bei solchen 30 Code-Zeilen Programmen, extra Runtimes benötigt werden!
P.S.: Zu C# wechseln werd ich glaub ich nicht (komme von da, hab schon 2-3 größere Programme geschrieben), denn soviel ich weiß programmieren die "großen" Firmen mit C++. Und ich wollte mal vorlernen, falls ich später mal (falls ich dann überhaupt noch Lust habe) bei solch einer Firma anfangen möchte.
-
07. 10. 2011, 14:14 #8
Re: [VS2010 - C++] Programm Kompilieren ohne Zusätze, für nutzung auf anderem Compute
Kann natürlich sein das mein Mingw nicht optimal konfiguriert ist. Habe es gleich so benutzt wie es nach dem Installieren vorgelegen hat
Zitat von Larius
. Werde das mal überprüfen. Danke.
Der Trend geht eindeutig weg von C++. Zu kompliziert, zu viele Möglichkeiten Fehler zu machen. Es gibt natürlich Wege diese Probleme zu minimieren, aber um wirklich gut C++ zu programmieren, braucht man doch viel Hintergrundwissen. Wenn es nicht unbedingt nötig ist nah an der Maschine zu bleiben sollte man C++ meiden.
Zitat von flasher4401
Moderne Sprachen wie C# haben viele Vorteile und nur wenig Nachteile (da der größte Teil der Nachteile durch Hardware erschlagen wird).
Trotzdem ist es natürlich gut wenn man sich mit C++ auskennt
. Ich will Dir also keinesfalls den Spaß verderben.
EDIT:
Das ist der Preis wenn Du höhere Programmiersprachen in Verbindung mit Standardbibliotheken verwendest. Irgend woher muss der Code den Du benutzt ja kommen
Zitat von flasher4401
.Geändert von lupo1977 (07. 10. 2011 um 14:28 Uhr)
-
07. 10. 2011, 14:27 #9
Re: [VS2010 - C++] Programm Kompilieren ohne Zusätze, für nutzung auf anderem Compute
Naja wenn der Trend zu C# geht (die Sprache mag ich übrigens tausend mal lieber) dann wechsel ich doch lieber
DDDDD
wobei ich nciht glaube, dass z.b. spiele in der zukunft mit c# entwickelt werden, da einfach die performance nicht so groß ist wie bei c++
-flasher
-
07. 10. 2011, 14:34 #10
Re: [VS2010 - C++] Programm Kompilieren ohne Zusätze, für nutzung auf anderem Compute
Wieso sollte dafür C++ erforderlich sein? Es gibt sicher viele gut Bibliotheken in diesem Sektor für C++. Und es existiert auch viel Beispielcode für C++.wobei ich nciht glaube, dass z.b. spiele in der zukunft mit c# entwickelt werden
Performancegründe hat das so in dem Maß, wie vor 15 Jahren nicht mehr. Die meisten grafischen Operationen werden mittlerweile sowieso in die Grafikkarte ausgelagert. Der CPU kommen oft nur noch Steuerungsaufgaben zu. Ich glaube es gibt mittlerweile sogar Frameworks für C#, die speziell für Spiele zugeschnitten sind.
Aber natürlich hat C++ auf diesem Sektor eine lange Tradition, das lässt sich nicht leugnen.
-
07. 10. 2011, 14:43 #11
Re: [VS2010 - C++] Programm Kompilieren ohne Zusätze, für nutzung auf anderem Compute
, naja wenn ich soweit bin, wird wahrscheinlich eh wieder alles anders sein, also wieso jetzt schwer machen, wenns auch einfach geht
-flasher
-
07. 10. 2011, 21:00 #12
Re: [VS2010 - C++] Programm Kompilieren ohne Zusätze, für nutzung auf anderem Compute
>> Microsoft scheint sein VC++ nur noch Stiefmütterlich zu behandeln. Du solltest wirklich über legen zu C# zu wechseln .
>> Der Trend geht eindeutig weg von C++.
Da hast du den letzten Hype verpasst. Mit Windows 8 und WinRT ist natives C++ und C++0x auf einmal wieder in (auch wenn die C++0x-Unterstützung eher mau ausfällt und sehr enttäuschend ist in VC11, u.a. keine Variadischen Templates.
)
Mittlerweile sind auch in der Entwicklung die von dir genannten Gefahren keine Probleme mehr (wie z.B. Pufferüberläufe und Speicherlecks), da die Standardlibrary langsam auch von Microsoft zunehmend gehypt, verstanden und besser umgesetzt wird. C++0x verbessert diesbezgl. auch viel im Standard. Das größte aller Übel ist und bleibt wohl Threadsicherheit, und da ist C# C++ nicht vorraus. Sie nutzen sogar gleiche (und leider komplizierte) Techniken.
>> Aber es ist doch dumm, das bei solchen 30 Code-Zeilen Programmen, extra Runtimes benötigt werden!
Du hast nicht richtig gegooglet. Noch mal: du kannst die CRT mit hinein kompilieren, dann läuft das auf jedem x86er-Windows oder auf Windows x64 mit WoW-Unterstützung.
Unterm Strich sind deine 30 Zeilen Code das wenigste im Binary, die Standardlibrary (wie z.B. cout, Locales etc.) wollen nun mal auch programmiert sein. In Mnemonic-Code hättest du sehr viel mehr zu tun und würdest um eine Runtime betteln.
>> Ich glaube es gibt mittlerweile sogar Frameworks für C#, die speziell für Spiele zugeschnitten sind.
Die ganze XNA-Sparte um genau zu sein. Trotzdem, in richtigen Spielen sind manche Codeteile einfach zu kritisch, dass man das letzte bisschen Performance mit guten alten Inline-Assembler in C(++)-Code rausholen muss. Das sind aber natürlich nur Sonderfälle. Vieles (vllt. auch das meiste) geht mittlerweile in C#.
Ich habe C++ nicht gelernt, weil ich Sachen machen muss, die C# nicht könnte. Aber ich kann jetzt einfach diese Sachen machen und das macht großen Spaß. C++ ist kein Muss, es gibt keinen logischen Grund, diese Sprache unbedingt lernen zu müssen.
-
07. 10. 2011, 22:04 #13
Re: [VS2010 - C++] Programm Kompilieren ohne Zusätze, für nutzung auf anderem Compute
Also vom "Handling" her find ich C# wirklich um längen besser, allein schon wegen der einfachen GUI Programmierung durch WPF und WinForms (obwohl das natürlich auch in C++) geht.
Das schönste an C# ist aber schlicht und einfach das IntelliSense.
Denn wenn man keine ahnung hat wie man etwas umsetzen soll, kann man einfach durch die Zeilen Scrollen und sich die Erklärungen durchlesen, da ist nichtmal Googlen notwendig!
Aber das soll jetzt kein Thread für C++ / C# werden!!!
Ich habs jetzt hinbekommen in dem ich mit umwegen (die microsaft schweine hatten die einstellung versteckt) die libraries statisch eingebunden habe!
-flasher
-
07. 10. 2011, 22:39 #14
Re: [VS2010 - C++] Programm Kompilieren ohne Zusätze, für nutzung auf anderem Compute
>> Das schönste an C# ist aber schlicht und einfach das IntelliSense.
Das schönste am Fliegen ist die tolle Aussicht.
Mal im Ernst, Intellisense hat nichts mit C# zu tun. Das ist Eye-Candy, die eine bestimmte IDE dir bietet. C++ mit Visual Assist Pro ist genau das selbe.
>> die microsaft schweine hatten die einstellung versteckt
Mit der Einstellung solltest du schleuningst aufhören, das ist einfach nur unreif. Bei Microsoft arbeiten viele, sehr clevere Leute, die interessante Sachen entwickelt haben. Sachen wie dein heiß geliebtes Intellisense programmieren sich nicht von alleine. Das sind quasi On-the-fly-compiler, etwas, was du vermutlich nie programmieren kannst und wirst. Außerdem kann dir in speziellen Foren schnell Hilfe von Experten verweigert werden, weil du sie als Schweine beschimpfst. 
-
07. 10. 2011, 23:17 #15
Re: [VS2010 - C++] Programm Kompilieren ohne Zusätze, für nutzung auf anderem Compute
Ja ist ja gut, hör auf zu meckern! (Ich möchte hier jetzt keinen Streit anfangen, denn natürlich ist das nicht ernst gemeint, denn ohne Microsoft, gäb es das alles erst garnicht und ja ich liebe IntelliSense, das ist das beste Feature überhaupt!)
Und wie gesagt, wir sind inszw. nicht mehr beim eigtl. Thema und ich hab das Problem inszw. gelöst,
desw. -> vote4close
-flasherGeändert von flasher4401 (07. 10. 2011 um 23:39 Uhr)
-


Zitieren

mehr lesen...







Microsoft: Windows 8 OEM...
Heute, 14:12 in gulli:news