dll nicht gefunden (exe Datei, statisches Linken?!)



  • Hi Leute,

    ich verwende Visual Studio .NET 2003 und habe Probleme beim Ausführen meines Testprogramms. Ich habe ein .NET Forms Projekt erstellt und bisher nur die mysql++.h included.

    Projekteigenschaften Debug:
    Zusätzliche Includeverzeichnisse: C:\mysql\include;"C:\mysql++\include"
    Laufzeitbibliothek: Multithreaded-Debug-DLL (/MDd)
    Zusätzliche Bibilotheksverzeichnisse: "C:\mysql++\vc\debug";C:\mysql\lib\debug
    Zusätzliche Abhängigkeiten: libmysql.lib wsock32.lib mysqlpp.lib

    Projekteigenschaften Release:
    Zusätzliche Includeverzeichnisse: C:\mysql\include;"C:\mysql++\include"
    Laufzeitbibliothek: Multithreaded-DLL (/MD)
    Zusätzliche Bibilotheksverzeichnisse: "C:\mysql++\vc\release";C:\mysql\lib\opt
    Zusätzliche Abhängigkeiten: libmysql.lib wsock32.lib mysqlpp.lib

    Bei beiden Varianten lässt sich der Code fehlerfrei compilieren. Wenn ich jedoch die .exe Datei starten will, dann sagt er mir, dass er die mysqlpp.dll nicht finden kann. Wenn ich Sie in den Ordner der .exe Datei kopiere, dann klappt es. Das ganze hat doch irgendwie mit dynamischem bzw. statischem Linken zu tun oder?

    Testweise habe ich mal bei Verwendung von MFC von "Windows-Standardbibliotheken verwenden" auf MFC in einer "Statischen Bibliothek verwenden" umgestellt, jedoch ohne Erfolg.
    Der Nutzer soll das Programm starten können, aber ohne die dll zu besitzen. Wie geht das?

    Help!



  • Wie im anderen Forum schon erwähnt... statisch Linken.



  • http://de.wikipedia.org/wiki/Bibliothek_(Programmierung) (DLL, LIB)
    xxx.dll (bei Dir: mysqlpp.dll) wird dynamisch gelinkt beim Starten der yyy.exe.
    Will man davon unabhängig sein, so muss man mittels xxx.h und xxx.lib statisch linken. Das hat hier nichts mit den MFC-Dateien zu schaffen, wenn ich das richtig sehe. Hat man keine xxx.lib, die man statisch linken kann, so bleibt nichts anderes, als die xxx.dll (zur exe oder nach systems32) mitzuliefern, z.B. bei einem Installer-Paket.

    Siehe: http://www.henkessoft.de/C++/WinAPI/WinAPI Kapitel 1 bis 6/api6.htm
    (siehe das Beispiel mit Ellipse(...) und pfnEllipse(...) zum Verständnis bezüglich DLL)



  • ich habe auch eine mysqlpp.lib ...



  • Dann binde den header ein und versuche die lib statisch zu linken, falls das überhaupt vorgesehen ist, ansonsten eben DLL mitliefern.



  • ich krieg das einfach nicht hin... egal, ich hab die dll erstmal reinkopiert.

    Neues Problem: Wie gebe ich die Ergebnisse eines SELECT am besten in dem Forms-Fenster aus. Ich hab gehört, dass das irgendwie mit Datagrid gehen soll... aber die MSDN Hilfe hilft mir da gar nicht.

    OFFTOPIC @Erhard Henkes: Kannst du mir sagen was beim GPS-Approach VECTORS, ATGUP, FWE, KLF, NASAT oder NUKRO bedeutet? Wo liegen die Unterschiede 😉



  • wenn die mysql++ keine lib hat die man statisch linken kann dann geht es nicht.
    Microsoft liefert bei der MFC 2 verschiednene Version mit. statisch und dynamisch.
    Dies läßt sich in VC++ einstellen welche hier genommen wird.
    Hast du aber eine eigene Bib. dann braucht du die statische Variante davon.
    Gibt es die nicht brauchst du die dll wo sich der eigentliche kompilierte Code der Bib befinden.



  • ich krieg das einfach nicht hin... egal, ich hab die dll erstmal reinkopiert.

    Wie UNIX-Tom bereits ausgeführt hat, es gibt zwei verschiedene Typen von libs, eine für statisches Linken und eine für die passende DLL. Du benötigst die lib für statisches Linken. Wenn der Verfasser diese nicht anbietet, musst Du die DLL liefern.

    OFFTOPIC @Erhard Henkes: Kannst du mir sagen was beim GPS-Approach VECTORS, ATGUP, FWE, KLF, NASAT oder NUKRO bedeutet? Wo liegen die Unterschiede 😉

    Doppelpost 😃 http://de.flyawaysimulation.com/postt627.html



  • also die mysqlpp.lib gibt es... die benutzt er meines Wissens nach auch. Aber wie ich die nun statisch verlinke... kein Plan...

    Nun habe ich das Problem, dass ich die Ergebnisse eines SELECT grafisch darstellen möchte (Windows-Forms Anwendung). Wie füttere ich ein Datagrid mit den Daten?

    @Erhard Henkes: Keine Antwort auf meine Frage? Ich find dazu nix im Handbuch / Internet 😞


Anmelden zum Antworten