Microsoft Visual C++ 2005 Probleme



  • hi all 🕶

    Könnt IHR mir bitte bei Microsoft Visual C++ 2005 helfen,weil ich mich da komplett nicht auskenne.Also mir geht es hauptsächlich um diese Funktionen im Programm,

    • erstens ich weiss nicht ich ich da kompilieren tu.. also unter debuggen hab ich eine vermutung aber es ist grau unterlegt,d.h ich kann es nicht benutzen
      Auch wenn ich gerade eine Datei mit meinem anderen Compiler bearbeitet hab und nun in VC bearbeiten will,kann ich nicht debuggen od. weiss einfach nicht wo man kompilieren kann.

    • zweitens würde ich gerne fragen,ob man irgendeine Software(programm) braucht,damit man die von VC++ 2005 kompilierte Datei(.exe) ausführen kann,also irgendwas wie DirectX9(muss nicht sein,aber soetwas braucht man ja auch für manche spiele^^) oder Microsoft .NET Framework ...?

    • drittens: Warum gibt es da keine API oder so,halt dass wie bei CodeBlocks oder Devc++ unter Projekte "OpenGL" oder sonstiges steht?Wie mach ich da irgendwelche rein?

    • und viertens warum beim kompilieren ein Fehler auftritt,sofort wenn man VC++ installiert und sofort was kompilieren möchte(das hab ich nur aus einem anderem Forum) - muss man was vorher in den Einstellungen übernehmen? Linker evtl.?

    ich bedanke mich jetzt natürlich im Voraus,weil ich um 16:15 zu einem Freund muss,mit ihm lernen muss(morgen ist Schule :(),aber ich komme so erst um 19:00 wieder :p

    Mit freundlichen Grüßen,

    Benjamin Moeljer 😉



  • walross schrieb:

    erstens ich weiss nicht ich ich da kompilieren tu..

    Du musst ein "Projekt" anlegen (Datei|Neu...|Project...)

    walross schrieb:

    zweitens würde ich gerne fragen,ob man irgendeine Software(programm) braucht,damit man die von VC++ 2005 kompilierte Datei(.exe) ausführen kann,also irgendwas wie DirectX9(muss nicht sein,aber soetwas braucht man ja auch für manche spiele^^) oder [i]Microsoft .NET Framework

    Verstehe die Frage überhaupt nicht... wenn Du .NET verwendest, dann brauchst Du es auch; wenn Du DirectX verwendest, dann brauchst Du es halt...

    walross schrieb:

    drittens: Warum gibt es da keine API oder so,halt dass wie bei CodeBlocks oder Devc++ unter Projekte "OpenGL" oder sonstiges steht?Wie mach ich da irgendwelche rein?

    Verstehe ich auch nicht... Wenn Du die Express-Edition hast, kannst Du noch das PSDK runterladen (siehe 1.Thread im WinAPI-Forum).

    walross schrieb:

    und viertens warum beim kompilieren ein Fehler auftritt,sofort wenn man VC++ installiert und sofort was kompilieren möchte(das hab ich nur aus einem anderem Forum) - muss man was vorher in den Einstellungen übernehmen? Linker evtl.?

    WAS für ein Fehler!?



  • Jochen Kalmbach schrieb:

    walross schrieb:

    zweitens würde ich gerne fragen,ob man irgendeine Software(programm) braucht,damit man die von VC++ 2005 kompilierte Datei(.exe) ausführen kann,also irgendwas wie DirectX9(muss nicht sein,aber soetwas braucht man ja auch für manche spiele^^) oder [i]Microsoft .NET Framework

    Verstehe die Frage überhaupt nicht... wenn Du .NET verwendest, dann brauchst Du es auch; wenn Du DirectX verwendest, dann brauchst Du es halt...

    ich habe es noch nie selbst probiert, aber braucht man um damit kompilierte programme auszuführen nicht normalerweise das vc2005-redistributable-paket?
    DAS HIER SOLLTE ES SEIN

    mfg,
    julian



  • hi 😉

    ich hab debugen starten angeklickt und schon erscheint unten soetwas:

    Übungen.exe": "J:\C++\Visual C++\Visual C++\Übungen\Debug\Übungen.exe" geladen, Symbole wurden geladen.
    "Übungen.exe": "C:\WINDOWS\system32\ntdll.dll" geladen, Keine Symbole geladen.
    "Übungen.exe": "C:\WINDOWS\system32\kernel32.dll" geladen, Keine Symbole geladen.
    "Übungen.exe": "C:\WINDOWS\WinSxS\x86_Microsoft.VC80.DebugCRT_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_f75eb16c\msvcr80d.dll" geladen, Keine Symbole geladen.
    "Übungen.exe": "C:\WINDOWS\system32\msvcrt.dll" geladen, Keine Symbole geladen.
    "Übungen.exe": "C:\WINDOWS\system32\shimeng.dll" geladen, Keine Symbole geladen.
    "Übungen.exe": "C:\WINDOWS\system32\shimeng.dll" entladen.
    Das Programm "[2068] Übungen.exe: Systemeigen" wurde mit Code 0 (0x0) beendet.

    Dann konnte ich es kompilieren also es funktioniert wirklich,aber wozu braucht man denn da ein Projekt?
    Aber wenn ich außerdem etwas mal für Linux programmieren möchte,würde das ja nicht funktionieren,weil da was auf C:\WINDOWS\system32 usw.. zugegriefen wurde,aber kann man überhaupt für Linux was machen?Also daweil nur eine Konsolenanwendung?

    Braucht man unbedingt die anderen beiden Dateien?Also die vorkompilierten,die VC++ automatisch beim erstellen einer CPP-Datei macht?

    .. zu meiner dritten frage:
    Was sind die Voraussetzungen,damit die Anwendung gestartet werden kann?

    EDIT: Also ich habe jetzt was kompiliert,doch auch wenn ich cin.get() benutze,dass fenster schließt sich einfach so.. bei einem anderen Compiler funktioniert das Ausführen prima,wenn die cin.get() vorhanden ist(d.h das Fenster schließt sich nicht sofort,erst nachdem es seine Arbeit getan hat),
    aber bei VC++ schließt sich das Fenster,nachdem ich die fertige .exe Datei ausführen will,auch wenn cin.get() drinnen steht... heisst das also,dass wenn jemand anderer vc++ hat,dass wenn es bei mir geht,dass es dann bei einem anderem User nicht geht?

    Benjamin M



  • Julian__ schrieb:

    Jochen Kalmbach schrieb:

    walross schrieb:

    zweitens würde ich gerne fragen,ob man irgendeine Software(programm) braucht,damit man die von VC++ 2005 kompilierte Datei(.exe) ausführen kann,also irgendwas wie DirectX9(muss nicht sein,aber soetwas braucht man ja auch für manche spiele^^) oder [i]Microsoft .NET Framework

    Verstehe die Frage überhaupt nicht... wenn Du .NET verwendest, dann brauchst Du es auch; wenn Du DirectX verwendest, dann brauchst Du es halt...

    ich habe es noch nie selbst probiert, aber braucht man um damit kompilierte programme auszuführen nicht normalerweise das vc2005-redistributable-paket?
    DAS HIER SOLLTE ES SEIN

    mfg,
    julian

    hi

    aber wenn ich einen anderen compiler benutze,brauch ich nichts um es ausführen zu können?Bsp. Codeblocks oder DevC++?



  • Julian__ schrieb:

    aber braucht man um damit kompilierte programme auszuführen nicht normalerweise das vc2005-redistributable-paket?

    Nur wenn Du gegen die DLL-Version der CRT linkst. Wenn Du gegen die statische CRT linkst, wird dies nicht benötigt.
    qwalross: Linke gegen die statische CRT, dann brauchst Du auch nichts um es irgendwo auszuführen...



  • dann habe ich dazu noch eine frage:
    wo liegt der vorteil, gegen die dll-version zu linken? warum wird es so oft gemacht und dann das redistributable-package mitgeliefert bzw. darauf verwiesen (bei vielen freeware-programmen, aber auch z.B. gothic3)?

    mfg,
    julian



  • Julian__ schrieb:

    dann habe ich dazu noch eine frage:
    wo liegt der vorteil, gegen die dll-version zu linken? warum wird es so oft gemacht und dann das redistributable-package mitgeliefert bzw. darauf verwiesen

    Aus Programmierer sicht, gibt es eigentlich keinen Vorteil, sondern nur Nachteile...
    Aus Admin/MS Sicht hat es auch Vorteile:
    - Das redist muss ich nur einmal installiere, und die CRT benötigt somit "weniger" Platz (beim statischen Linken ist die CRT ja immer in Deiner EXE mit drin; was Deine EXE somit größer macht)
    - MS kann jederzeit die DLL "verbessern" (was sie ja schon mit SP1 macht)

    Sonst fällt mir kein guten Grund ein die DLL-Version zu verwenden (ich mache es auch nicht, wenn es nicht sein muss).

    Es gibt nur einige wenige Gründe, wenn Du sie verwenden *musst*:
    - Du hast ein schlechtes Design und allokierst Speicher in einer DLL und willst sie in der EXE freigeben
    - Du arbeitest mit eigenen DLLs, welche sich die CRT teilen *müssen* (also Du übergibst z.B. einen "std::string" über Modul-Grenzen hinweg (was ich aber auch wieder für ein schlechtes Design halte)
    - Du erstellst eine MFC-Extension DLL
    - Du compilierst mit /clr und willst die CRT verwenden


Anmelden zum Antworten