www.mikrocontroller.net

Forum: PC-Programmierung MS Visual Studio.Net 2003 Prof


Autor: Sarah Heimbach (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

benutze Visual Studio.Net und möchte nun die Exe Datei meines C++
Programmes auf einem anderen PC ausführen. Dazu habe ich sie einfach
aus dem Debug Ordner kopiert und aufgespielt. Leider gibt es immer
einen Fehler. Habe gelesen, man müsste bei Visual Studio.Net dll's
mitgeben???

Was genau muss ich tun? Sind Einstellungen vor dem "Build"-Vorgang
notwendig?

Danke

Sarah Heimbach

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
du musst einfach nur das net framework auf dem anderen pc installieren.
alle dlls die Visual studio linkt die nicht standart sind, kopiert es
schon in den debug ordner.

Sebastian

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

ein C++ Programm wird doch das .net-Framework nicht brauchen oder etwa
doch? Welche DLL fehlt denn?

Matthias

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein C++-Programm benötigt das .Net-Geraffel, wenn es "Managed C++"
verwendet. Das ist eine Perversion, die sich Microsoft ausgedacht hat.
Yuck.
Normale C++-Programme kann man statisch linken, so daß keinerlei
zusätzliche DLLs benötigt werden; dann allerdings ist das resultierende
.Exe-File einige Megabytes groß.
In Anbetracht heutiger Festplatten kann einem das im Grunde genommen
wurscht sein - nicht zu unterschätzender Vorteil ist die Umgehung der
"DLL hell".

Autor: Sarah Heimbach (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Soll das jetzt heißen, dass ich mein Programm nicht auf einem anderen
Computer ausführen/benutzen kann ohne dort auch das Visual Studio.Net
zu installieren? Wie soll man Software verkaufen können, wenn das nicht
geht???

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nein, da verstehst du was falsch.

das ist ähnlich wie bei java.
du hast auf deinem entwicklungsrecher das .net framwork (runtime) und
das .net framework (sdk) also die entwicklung/compiler.. das ist ja
völlig unabhängig von der verwendeten IDE wie zb. VisualStudio.Net.

Auf dem Kundenrechner muss dann nur das .Net framework (runtime)
installiert sein/werden. das ist in etwa 22Mb groß. die Net SDK ist
glaube ich >100.

wenn du Managed C++ verwendest, hast du den vorteil das du von
grausamen programmiererverbrechen abgehalten wirst.

Sebastian

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"wenn du Managed C++ verwendest, hast du den vorteil das du von
grausamen programmiererverbrechen abgehalten wirst."

Das ist ein Paradoxon.

Autor: Thomas X. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
c++ selber ist ein verbrechen, ob managed oder nicht spielt da auch
keine rolle.

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

au ja. Ein Programmiersprachenflamewar. Ich hohl schon mal des
Popcorn.


Matthias

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> c++ selber ist ein verbrechen, ob managed oder nicht spielt da auch
> keine rolle.

genaaauuu, QBASIC rockt!

</sarkasmus>


Dann verrat mir doch mal, wieso professionelle Software so selten in
anderen Programmiersprachen als C oder C++ geschrieben wird.

bierzumpopcornhol

Autor: Thomas X. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich wusste gar nicht, das Professionalität bei Software in erster Linie
von der eingesetzten Programmiersprache abhängt.

Wenn QBasic neben C++ die einzige Sprache ist, die du kennst, lieber
Chris, ist natürlich klar dass du C++ den Vorzug gibst :D

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lieber Thomas X., was ist denn für Dich kein Verbrechen?
Ein Wirth-Produkt?

Autor: mthomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
dependency walker duerfte helfen. Ist bei VS "dabei". Ansonsten
www.dependencywalker.com

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Für's erste reicht bereits ein

  dumpbin /imports <exefile.exe>

Dumpbin ist ein Wrapper für den MS-Linker und kann übrigens auch als
Disassembler genutzt werden.

Kurz:
Ob die .Net-Runtime benötigt wird, ob irgendwelche MFC-DLLs benötigt
werden, all' dies hängt von den Projekteinstellungen (und der Art des
Projektes) in der Entwicklungsumgebung ab.

Die müsste Sarah uns mal nennen, dann ließen sich ihr detailliertere
Hinweise geben.

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ich wusste gar nicht, das Professionalität bei Software in
> erster Linie von der eingesetzten Programmiersprache abhängt.
Ein falcher Umkehrschluss aus meiner obigen Aussage.

> Wenn QBasic neben C++ die einzige Sprache ist, die du kennst, lieber
> Chris, ist natürlich klar dass du C++ den Vorzug gibst :D
Klassischer Verlauf eines Flamewars. Versuchter Angriff auf den
persönlichen Wissensstand des Gegenübers.

Nein, darauf lasse ich mich heute nicht ein. Da ess ich lieber mein
Popcorn. :)

EOT

Autor: Sarah Heimbach (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

danke für die Tipps!
Habe dieses net framework auf dem anderen Pc installiert und es läuft
jetzt auch. Was ich erstellt habe, war ein leeres Projekt und habe da
einfach eine *.cpp Datei erstellt. Daher wird es wohl dann auch mit
dieser einfachen Hilfestellung funktioniert haben.
Meine Programmierkenntnisse sind noch nicht so ausgeprägt, dass ich
Visual Studio.Net ausnutzen kann.


Gruß Sarah

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"Was ich erstellt habe, war ein leeres Projekt" - dabei wurden Dir
aber verschiedene Optionen angeboten, was für ein Projekt. Du hast
offensichtlich "Managed C++" ausgewählt, was dafür sorgt, daß das
.Net-Geraffel erforderlich ist.
Zu Deinem .Exe-File musst Du so also "nur" das ca. 20 MByte große
.Net-Framework ausliefern.
Würdest Du "richtiges" C++ auswählen, dann entfiele der .Net-Anteil,
dann müsstest Du noch entscheiden, ob mit oder ohne MFC und ob statisch
oder dynamisch gelinkt werden soll. Dynamisch bedeutet, daß MFC- und
C-Runtime-DLLs erforderlich sind, statisch bedeutet, daß keine DLLs
erforderlich sind.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.