1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

C++ Projekte sollen auf anderen Rechner auch funktionieren

Discussion in 'Programmieren' started by SK8, Oct 9, 2008.

Thread Status:
Not open for further replies.
  1. SK8

    SK8 Byte

    Hallo Leute ich Visual Studio 2008 C++.
    Was mir erst jetzt aufgefallen ist wenn ich meine Projekte auf meinen Laptop knalle funktioniert es einfach nicht.
    ausser wenn ich jetzt dort auch Visual studio C++ installiere.
    Kann ich das nicht irgendwie einstellen das die Projekte überalll funktionieren?
    Oder eine kleineres schnell installierendes program installieren?


    :bitte:
     
  2. kazhar

    kazhar Viertel Gigabyte

  3. SK8

    SK8 Byte

    Das kann doch nicht der einzige weg sein oder.

    :confused:
     
  4. kazhar

    kazhar Viertel Gigabyte

    wenn du visual studio so konfigurieren kannst, dass die projekte statisch gelinkt werden, brauchst du die runtime nicht. ansonsten musst du herausfinden um welche .dll's es geht, die in das selbe verzeichnis wie das proigramm legen und die daumen drücken ;)
     
  5. SK8

    SK8 Byte

    Wie mach ich das am besten?
    :bahnhof:
    Ich teste es mal mit einem windows Form Anwendung einen Container als Form anwendung finde ich neben dem Program.
     
  6. kazhar

    kazhar Viertel Gigabyte

    also sich hab das mal genauer angesehen.

    die runtime installiert folgende bibiliotheken:
    C:\Programme\Gemeinsame Dateien\Microsoft Shared\VC\msdia90.dll
    C:\WINNT\system32\atl90.dll
    C:\WINNT\system32\mfc90.dll
    C:\WINNT\system32\mfc90chs.dll
    C:\WINNT\system32\mfc90cht.dll
    C:\WINNT\system32\mfc90deu.dll
    C:\WINNT\system32\mfc90enu.dll
    C:\WINNT\system32\mfc90esn.dll
    C:\WINNT\system32\mfc90esp.dll
    C:\WINNT\system32\mfc90fra.dll
    C:\WINNT\system32\mfc90ita.dll
    C:\WINNT\system32\mfc90jpn.dll
    C:\WINNT\system32\mfc90kor.dll
    C:\WINNT\system32\mfc90rus.dll
    C:\WINNT\system32\mfc90u.dll
    C:\WINNT\system32\mfcm90.dll
    C:\WINNT\system32\mfcm90u.dll
    C:\WINNT\system32\msvcm90.dll
    C:\WINNT\system32\msvcp90.dll
    C:\WINNT\system32\msvcr90.dll
    C:\WINNT\system32\vcomp90.dll

    folgenden registry schlüssel:
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DevDiv\VC]

    einen ar*** voll components, massiv einträge im side-by-side system und natürlich einiges an uninstaller informationen

    es wird dir nicht viel anderes über bleiben als das paket mit deinem programm weiter zu geben...
     
  7. SK8

    SK8 Byte

    Danke ich habe dazu noch was rausgefunden ich muss eine Release machen debug funktioniert nicht.
     
  8. Fettbemme

    Fettbemme Halbes Megabyte

    Ich setze mal Visual Studio 2008 Professional oder besser als Basis voraus :) Das macht es mir erst einmal einfacher, da ich selbiges kenne ;)

    Du hast leider nicht geschrieben, ob Du Managed Code oder Native Code erzeugst.

    Du hast jetzt zwei Möglichkeiten:

    1. Managed Code: Ensprechende .NET Version auf dem anderen PC installieren (Bei VS2008 würde ich ma .NET 3.5 sagen)
    2. Native Code: Du solltest Dein Projekt statisch Linken

    Zum Überprüfen der Abhängigkeiten ist der "Dependencywalker" DAS Tool schlechthin. Es sollte unter "C:\<programmverzeichnis>\Microsoft SDKs\Windows\v6.0\Bin" eine "Depends.exe" geben. Diese aufrufen, und per Dag and Drop Deine EXE reinziehen. Dir werden die Abhängigkeiten angezeigt.

    Den DependencyWalker gibt es auch Online zum Saugen: http://www.dependencywalker.com

    Falls Du noch weitere Hilfe benötigst, mußt Du nochmal Dein Problem genauer beschreiben, mit dne Abhängigkeiten.

    Auch wenn Du die MFC 9.0 oder jetzt die MFCNext aus dem Feature Pack verwendest, kann die statisch gelinkt werden. Bei MFCPlus entsteht unter Win2K die Abhängigkeit, dass die GDI+ DLL benötigt wird. Offizielle wird mit VS2008 aber W2K und kleiner auch nicht mehr unterstützt.
     
    Last edited: Oct 9, 2008
  9. SK8

    SK8 Byte

    Ich glaube ich habe Nr. 1 so in der richtung.

    :rolleyes:
     
  10. Fettbemme

    Fettbemme Halbes Megabyte

    ... dann sollte es reichen das entsprechende .NET Runtime zu installieren. Wenn Du VC++2008 verwendest hast, wird in den Deflaults mit .NET 3.5 gearbeitet. Bei VC++2005 ist es .NET 3.0. Ich denke bei VC++2003 ist es .NET 2.0.....

    Du wirst mit .NET nur weitere abhängigkeiten reinbekommen, wenn Du DLLs bzw. COM Objekte in Deiner Anwendung verwendest, die nicht standard sind.
     
    Last edited: Oct 9, 2008
  11. SK8

    SK8 Byte

    also nur dort wo das nicht (standard) ist.

    egal ich packs dann mal hald mit rein.

    :jump:
     
  12. Fettbemme

    Fettbemme Halbes Megabyte

    Wenn Du mit Managed Code "Rummachst" :D, dann wirst Du um die passende .NET Redistributable nicht herum kommen. Je nach Einstellungen (bei VC2008) kann es halt .NET 2.0, 3.5 und 3.5 sein.

    Ich denke mal mehr solltest Du wirklich nicht benötigen. Falls Dein Programm dann noch immer nicht läuft, verweise ich nochmal auf den Dependency Walker. Es ist echt ein gutes Programm für die Lokalisierung von Abhängigkeiten.

    Ich hoffe das wir hier soweit helfen konnten :cool:
     
  13. SK8

    SK8 Byte

    ja, zumindest ist das Problem behoben die Programme laufen.
    Was will man noch mehr. :D
     
  14. Fettbemme

    Fettbemme Halbes Megabyte

    Nun bei weiterne Problemen kannste hier ja wieder watt schreiben :)
     
Thread Status:
Not open for further replies.

Share This Page