DLL-Pfad in VS 2010 angeben



  • Ich kenne drei Möglichkeiten, in Visual Studio 2010 eine den Dateipfad einer DLL anzugeben: PATH-Umgebungsvariable, System32 und gleicher Ordner wie die EXE-Datei. Müsste aber nicht die Projekteinstellung VC++-Verzeichnisse -> Ausführbare Verzeichnisse den gleichen Effekt haben? Denn wenn ich ein Verzeichnis dort angebe, werden die DLLs darin nicht gefunden ("Programm kann nicht gestartet werden, da x.dll fehlt").

    Linker -> Allgemein -> Zusätzliche Bibliotheksverzeichnisse funktioniert auch nicht. Was übersehe ich?



  • Ev VS neu starten?


  • Mod

    Das gilt IMHO nicht für das Projekt, sondern nur für die Tools und den Compiler etc.



  • Okay danke. Gibt es vielleicht eine andere Möglichkeit den Pfad zur DLL innerhalb eines Projekts anzugeben? Ich kann zwar das Arbeitsverzeichnis wechseln, aber bei DLLs in verschiedenen Ordnern bringt das auch nichts.



  • Scheint nicht so... Dann muss ich eben mit PATH vorlieb nehmen.

    Welche Möglichkeit verwendet ihr? Liefert ihr bei euren Produkten einen Installer mit, der die DLLs an den richtigen Ort kopiert?



  • Der executable Path hat afaik überhaupt nichts mit dlls zu tun, das ist lediglich der Pfad wo VS nach Compilern etc. sucht. Was meinst du mit "an den richtigen Ort kopieren". Irgendwelche dlls in den Systemordner zu kopieren ist definitiv keine gute Lösung. Evtl. solltest du dir mal das hier durchlesen: http://msdn.microsoft.com/en-us/library/ms682586.aspx


  • Mod

    DLLs zu meinen Programmen liegen immer im richtigen Verzeichnis 🤡
    Das ist meistens enfach das Verzeichnis der EXE. Für manche Plugins die nachgeladen werden manchmal (selten) ein Unterverzeichnis. Aber dann wird explizit geladen und nicht implizit.



  • DLLs zu meinen Programmen liegen immer im richtigen Verzeichnis

    Ich lasse meine Projekt-DLLs im Verzeichnis der EXE builden (z.B. Linkeroption/Ausgabedatei; (OutDir)\\(ProjectName).dll). Andere DLLs liegen in einem bestimmten Verzeichnis, das ich in der Path-Variablen eintrage.

    Linker -> Allgemein -> Zusätzliche Bibliotheksverzeichnisse funktioniert auch nicht.

    Da werden die libs, nicht die DLLs gesucht,



  • dot schrieb:

    Was meinst du mit "an den richtigen Ort kopieren". Irgendwelche dlls in den Systemordner zu kopieren ist definitiv keine gute Lösung.

    Soweit ich weiss, macht das aber manche Software so. Ich würds selbst auch aber nicht tun.

    Ansonsten danke für die Tipps!


Anmelden zum Antworten