DLLs laden



  • Hallo zusammen,

    ich hab folgende Situation:
    - Ich habe eine Anwendung in java, die auf 2 native Bibliotheken angewiesen ist, d.h. eig nur eine, aber die braucht eben die andere.
    - Die eine DLL ist extern und die andere ein Wrapper um die Funktionalitäten, damit ich diese über das JNI Interface aus Java nutzen kann.

    Das Problem ist nun, dass wenn ich per System.load (bzw System.loadLibrary) die externe DLL laden will, gibt er mir einen Fehler ála "Cant find dependent Libraries", obwohl alle abhängigen weiteren DLLs in einem Ordner liegen und auch nicht unter meiner Kontrolle sind (eben extern).

    Der Pfad zu den DLLs ist im PATH unter Windows eingetragen.

    Ich hab ehrlich gesagt keinerlei Ideen noch en Plan davon, warum das geht und warum nicht...
    Das lustige ist, auf meinem Rechner geht alles, auf dem von nem Kollegen gehts eben nicht.

    Hat jemand en Tipp oder ne Idee?

    Lg mosho



  • dependency walker



  • Ich Idiot -.-

    Hab den die ganze zeit bei mir hier rumliegen, auch selbst schon damit gearbeitet und alles, aber trotzdem vergessen.

    Naja, es fehlte das M$ Redistributable Packe, das aktuelle...

    Danke dir hustbaer



  • Vielleicht noch als kleiner Tipp....Der Dependency Walker ist zwar ein super Tool aber leider nicht die eierlegende Wollmilchsau. Wer z.B. schon mal mit Oracle und den DLLs rum frickeln musste, der wird da mit Sicherheit ein Liedchen von singen koennen. Problem ist naemlich, dass Oracle in seinen DLLs keine direkte Abhaengigkeit hat sondern die selbst im Code via LoadLibrary nachlaedt und vorher den ganzen Versions Scheiss prueft.
    Es lohnt sich also immer IDA Pro (ich bin kein Freund von dem Olly Ding:-P), oder, wenn es um .NET Anwendungen geht, den ILSpy installiert zu haben;-)


Anmelden zum Antworten