lib dateien



  • wenn ich bei einer mfc anwendung eine lib datei mit verwende wie verhält sich das dann später bei verwendung des fertigen programms ? muss die lib datei mit ?
    zum einen verwende ich im mom die wininet.lib und desweiteren will ich jetzt ma mit der sensapi.h einen onlinecheck probieren, aber habe das problem daß das kompilierte programm auf nem rechner ohne visual studio nich läuft ( keiner fehlermeldung, nix, es startet einfach nicht )



  • Die ib brauchst du nicht nur die DLL wenn sie von Dir stammt.
    Die MFC-Dll`s lassen sich statisch Linken wenn man die geeignete VC++ Version hat.



  • Wenn die Lib Statisch linkst Sollten Das ohne Problehme Funzen.
    Ansonnsten mußt du zu deinem Programm noch die Passende DLL mitliefern.
    Wellche DLL von deinem Programm Benötigt werden Kannst du mit den Hilfsprogramm Dependens (Bei VC Dabei) herausfinden welche DLLs benötigt werden.
    gib aber nicht die DLLs aus deinem Windows ordner weiter sondern nimm immer die von der Installations CD



  • also das mit dem dlls statisch linken hab ich gemacht, heute sind 2 mb fürn proggy ja nimmer viel 😉
    dennoch startet das programm auf nem fremden rechner net, nur wenn visual studio installiert is...



  • Hast du sonst noch irgend etwas eingebunden?
    z.B Active X



  • nein, das sind meine includes:
    #include "stdafx.h"
    #include "math.h"
    #include "afxinet.h"
    #include <string>
    #include <stdarg.h>
    #include "resource.h"

    wie gesagt ich verwende die wininet.lib für den internetzugriff, ansonsten hab ich nix eingebunden



  • Original erstellt von ldr-alpha:
    Wenn die Lib Statisch linkst

    Wusste bis jetzt nicht das man lib`s statisch linken kann !
    😉

    Debug ---> Release



  • nope @ unix-tom 😞 auch das geht nicht, irgendwas mach ich wohl falsch, auch wenn ich auf rls umstelle und statisch gelinkt kompiliere, läuft das ding nich auf fremden rechnern und hab ja auch schon mit dem dependency checker gearbeitet und alle dlls die er braucht auf dem anderen rechner gesucht, sind alle vorhanden und auch in den selben versionen wie die die gebraucht werden, gott sei dank muss das ding nich auf nem anderen rechner laufen, aber für zukünftige dinge is das halt schon ärgerlich 😕



  • Dann sag mal welche Version du von VC++ 6 hast.
    Vielleicht kann deine Version dies nicht.



  • verwende microsoft visual c++ enterprise edition, kann mir aber eigtl net vorstellen daß das nicht geht, vermute den fehler woanders, aber wo *ratlos*



  • Die Enterprise kann statisch linken.

    Gibt es eine Fehlermeldung ?

    Versuche das Programm auf der Konsole zu starten ob es da eine Ausgabe gibt.



  • habs jetzt inner console gestartet und das ding startet und wird gleich wieder beendet <- das konnt ich im taskmanager sehen, aber ne fehlermeldung gibts keine.
    *ratlos*



  • Dann weiß ich auch nicht mehr.
    Bei mir geht es einwandfrei was dir aber nicht hilft. (VS 6 Enterpride)

    Versuche es mal mit einem Dialogprogramm ohne Code im Release MFC statisch ob es da geht.



  • dat funzt, hatte auch schonma daran gedacht aber wieder vergessen.
    jetzt is nur die frage was an meinem code falsch is...

    falls sich jmd die mühe machen will wär ich auch bereit den quellcode zu verschicken... würd mich halt interessieren worans liegt



  • Stell in auf eine HP zum Download bereit dann schaue ich in mir an.



  • ich hoffe da is alles drin was du brauchst:
    http://sites.inka.de/itchy/sendships.zip

    viel "spaß" damit 😉
    danke im voraus



  • Der res ordner fehlt



  • habs geupdated, hoffe du kannst damit mehr anfangen...
    http://sites.inka.de/itchy/sendships.zip

    ps: nicht wundern wenn der code vermutl grausam aussieht, is mein erster c++ versuch 😉



  • Du hast zwar noch immer nicht alle Dateien mitgeliefert aber macht ja nichts.

    Du hast ein Active X eingebunden welches vermutlich auf dem Zielsystem nicht installiert ist.
    MSFlexGrid.

    Dies musst du auf dem Zielsystem installieren und auch Registrieren. Da bei VC++ 6 installation dies automatisch geht funzt dein Programm auch nur auf den Systemen wo es installiert ist.
    Das nächstemal bitte bekanntgeben wenn du soetwas verwendest. Häte uns Zeit gespart.
    😉



  • danke erstma für die hilfe, das msflexgrid war mir total entfallen, dachte das gäbs auf jedem rechner, weil ichs schon in vielen programmen gesehen hatte.

    jetzt noch 2 fragen:
    a) wie "installier und registrier" ich das?
    b) geht das auch automatisch für zukünftige programme ? v.a. will ich net zu jedem programm daß ich mach ne "wie-bring-ich-das-ding-zum-laufen"-anleitung schreiben müssen 😉

    ----
    edit:
    ok von hand hab ichs registriert, aber die 2. frage bleibt: wie krieg ich hin, daß das in zuknuft automatisch geht, zumal ich ja net weiss welche activex controls oder sonstiges auf dem zielrechner vorhanden is...

    [ Dieser Beitrag wurde am 20.09.2002 um 12:24 Uhr von Crash editiert. ]


Log in to reply