Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Zmiana lokalizacji bibliotek DLL

Ostatnio zmodyfikowano 2016-02-23 18:17
Autor Wiadomość
programirer
Temat założony przez niniejszego użytkownika
Zmiana lokalizacji bibliotek DLL
» 2016-02-22 17:50:02
Witam,

Jak można zrobić, aby biblioteki DLL były w podfolderze, a nie w folderze z exe?
Próbowałem tym sposobem, ale za każdym razem program mówił, że nie może znaleźć bibliotek.

C/C++
SetDllDirectory( "\launcherDLL" );
LoadLibrary( "\launcherDLL\sfml-network-2.dll" );
LoadLibrary( "\launcherDLL\sfml-system-2.dll" );
LoadLibrary( "\launcherDLL\libgcc_s_seh_64-1.dll" );
LoadLibrary( "\launcherDLL\libstdc++_64-6.dll" );

Pozdrawiam.
P-145180
j23
» 2016-02-22 18:46:15
Zamiast względnych ścieżek daj pełne.
P-145182
programirer
Temat założony przez niniejszego użytkownika
» 2016-02-22 18:51:05
Po daniu pełnych wywala błąd:
[Error] incomplete universal character name \U

Poza tym, co jeśli nie dysponuję pełnymi ścieżkami?
P-145183
Gibas11
» 2016-02-22 20:45:45
Źle dałeś ukośniki ukośniki, użyj albo
'\\'
, albo
'/'
.
Ps, lepiej to drugie, pierwszą wersję wspiera tylko Windows.
P-145188
programirer
Temat założony przez niniejszego użytkownika
» 2016-02-22 20:53:33
Wszędzie podałem pełne ścieżki, lecz nadal nie działa.
P-145189
j23
» 2016-02-23 10:49:53
Poza tym, co jeśli nie dysponuję pełnymi ścieżkami?
Nie ma takiej opcji.

(...) lecz nadal nie działa.
Co zwraca SetDllDirectory? Jeśli FALSE, jaki kod błędu zwraca GetLastError?
P-145197
pekfos
» 2016-02-23 18:17:36
Próbowałem tym sposobem, ale za każdym razem program mówił, że nie może znaleźć bibliotek.
Ten 'sposób' nie zawiera żadnej obsługi błędów, więc co ci tu cokolwiek mówi? Jeśli te biblioteki są wymagane już do samego uruchomienia programu, to z poziomu kodu źródłowego niczego nie zrobisz.
P-145219
« 1 »
  Strona 1 z 1