weitergabe von Prpgramm ohne .NET



  • Hallo zusammen,
    ich habe zum testen ein kleines Programm erstellt: Eine Form einen Button + Label.
    Nun möchte ich das fertig erstellte .exe File weitergeben, an einen Rechner ohne .Net.
    Das gibt Probleme:
    Wie ich gelesem habe, sollte man die MFC in eine statische DLL linken lassen.
    Das geht aber nur, wenn ich die Unterstützung der CLR ausschalte.
    Das kann ich aber nicht machen, weils dann 1000 Fehlermeldungen gibt.
    Dann hab ich gelesen, mann muss die MFC dynamisch linken, und die benötigten DLL's manuell dazugeben. Welche DLL's benötigt werden, kann mit dem Dependency WEalker herausfinden. Hab ich probiert, dort kriegt man eine Lange Liste, im Exploere-Style. Muss ich nun alle Dlls dir dort vorkommen in das gleiche Verzeichniss kopieren, wo die exe liegt?
    😕
    Kann mir jemand helfen?
    Bin schon ganz durcheinander 😡

    edit:
    Wenn ich die MAF dynamisch linke, gibt es dann eine MFC-Datei, die ich einbinden muss?



  • Wenn du mit C++/CLI programmiert hast, geht es nicht vernünftig ohne das Framework. You've chosen the wrong programming language then.



  • ÖÖÖÜÜÄÄÄÖÖÜ???????????? :p 🕶 💡 👎

    ????
    Sowas gibts?
    Echt jetzt?
    Ich mach ein Programm mit Visual Studio, das ohne Visual Studio nicht läuft?



  • Du musst Dir im voraus überlegen, was Du willst:
    - .NET (Windows-Forms; einfach schnell und "schön") => .NET-Framework muss auf dem Zielrechner installiert sein!
    - MFC/Win32 oder andere UI-LIB (kann man i.d.R. ohne das .NET-Framework betreiben und auch statisch linken).

    Fazit: Alles was mit "/clr" übersetzt wird, braucht das .NET-Framework!



  • Ich habe ja beim Start ein MFC Projekt erstellt.
    Ich kann es aber trotzdem nicht ausführen, wenn ich einstelle:
    Configuration Properties->General->No Common Language Runtime support
    Was mach ich dann falsch?



  • Also, von selber wurde die /clr Option nicht gesetzt...
    Du darfst halt nix verwenden, was auf .NET basiert (also System::String, usw.)

    #using <mscorlib.dll>
    

    muss auch raus!



  • Originalhanno schrieb:

    ÖÖÖÜÜÄÄÄÖÖÜ???????????? :p 🕶 💡 👎

    ????
    Sowas gibts?
    Echt jetzt?
    Ich mach ein Programm mit Visual Studio, das ohne Visual Studio nicht läuft?

    Bloedsinn !!! 😮 !!

    Das Visual studio is nicht wichtig, du brauchst nur die .NET runtime, das hat nix mit dem visual studio zu tun, sondern is so was wie ne Java engine oder Directx runtime, also frei verfuegbar und bei jeden neueren windows auch schon mit dabei!!



  • aha, so was hab ich mir schon gedacht...
    D A N K E



  • Früher oder später wird .NET sowieso MFC ersetzen. Also kannst die ca. 25 MB für das Framework ruhig installieren.



  • Wie erstelle ich ein MFC Projekt, woran kann ich das erkennen, wenn ich eins erstellt habe, dass es kein .Net Projekt ist?
    Mir ist der Unterschied noch nicht klar!



  • Das merkst Du am Quelltext - verstehst Du was Sache ist? Dann ist es .NET 🕶

    Im Ernst, wenn Du .NET lernst und auch nur ne Hello-World Applikation zustande bringst, wirst Du sehr schnell merken wenn Du es mit MFC Code zu tun hast. Einige Prinzipien sind anders, eigentlich alles hat andere Namen (die Klassen der MFC fangen z.B. alle mit C an) etc.



  • Originalhanno schrieb:

    Wie erstelle ich ein MFC Projekt

    Indem Du bei "Projekt|Neu" MFC auswählst!?

    Originalhanno schrieb:

    , woran kann ich das erkennen, wenn ich eins erstellt habe, dass es kein .Net Projekt ist?

    Wenn der Compiler-Schalter "/clr" verwendet wird, dann benötigst Du das .NET-Framework. Wenn nicht, dann nicht.

    Originalhanno schrieb:

    Mir ist der Unterschied noch nicht klar!

    "/clr" macht den Unterschied.


Anmelden zum Antworten