Ergebnis 1 bis 5 von 5
  1. #1
    Support-Hure Avatar von sn0w
    Registriert seit
    18.09.2007
    Beiträge
    1.919

    Standard [C++] Problem mit SetDllDirectoryA

    Ohai Community ich hab momentan ein kleines Problem mit dieser Funktion.
    Code:
    #include <Windows.h>
    
    extern BOOL WINAPI SetDllDirectoryA(LPCTSTR lpathName);
    
    int main()
    {
        SetDllDirectoryA("C:\\test");
        return 0;
    }
    Compiler: Dev C++
    Fehlermeldung:
    Code:
    [Linker error] undefined reference to `_Z16SetDllDirectoryAPKc@4' 
    ld returned 1 exit status
    Wäre nett, wenn mir jemand sagen könnte, wo genau mein Fehler liegt

    MfG
    Geändert von sn0w (02.06.2012 um 00:51 Uhr)

    Boardregeln | SuFu | Blackmarket | PM

    Fragezeichen und Ausrufezeichen sind keine Rudeltiere!


  2. #2
    Stanley Jobson Avatar von Bonkers
    Registriert seit
    01.02.2010
    Beiträge
    735

    Standard AW: [C++] Problem mit SetDllDirectoryA

    Code:
    // dll.cpp : Defines the entry point for the console application.
    //
    
    #include "stdafx.h"
    #include <Windows.h>
    
    extern BOOL WINAPI SetDllDirectoryA(LPCTSTR lpathName);
    
    int _tmain(int argc, _TCHAR* argv[])
    {
    	SetDllDirectoryA("C:\\DLLHell");
    	return 0;
    }
    Code:
    The program '[6028] dll.exe: Native' has exited with code 0 (0x0).
    Funktioniert unter VC++ 2010 Express zumindest.

    Blackberry: der eine typ ist danach gestorben
    Bonkers: Echt?
    Blackberry: jep

  3. #3
    Transpinguin Avatar von IRET
    Registriert seit
    02.09.2008
    Beiträge
    1.295

    Standard AW: [C++] Problem mit SetDllDirectoryA

    Funktionieren die anderen WinAPIs (z.B. CreateFileA())?
    Ansonsten kann ich dir nur sagen, dass du die Funktion selber laden sollst, was ja nicht so toll ist ^^.
    Code:
    SetDllDirectoryA SetDllDirectory = (SetDllDirectoryA)GetProcAddress(LoadLibrary("kernel32.dll"), "SetDllDirectoryA");
    PS: Sollten andere Funktionen aus der Kernel32.dll auch nicht funktionieren, dann schau ob du bei den Libraries die "Kernel32.lib" dabei hast.

  4. Folgende Benutzer haben sich für diesen Beitrag bedankt:

    sn0w (02.06.2012)

  5. #4
    Support-Hure Avatar von sn0w
    Registriert seit
    18.09.2007
    Beiträge
    1.919

    Standard AW: [C++] Problem mit SetDllDirectoryA

    Also CreateFileA() geht ohne Probleme.
    Anscheinend hat hat etwas mit der kernel32.dll zu tun.
    Trotzdem danke für die Hilfe

    Boardregeln | SuFu | Blackmarket | PM

    Fragezeichen und Ausrufezeichen sind keine Rudeltiere!


  6. #5
    Neuling
    Registriert seit
    05.11.2011
    Beiträge
    2

    Standard AW: [C++] Problem mit SetDllDirectoryA

    Leider etwas spät, aber besser als nie, hatte heute Nacht leider die Zugangsdaten für das Board nicht mehr gefunden.

    Der Grund, warum du den Fehler vom Linker bekommst, ist in diesem Beitrag hier gut beschrieben:http://ubuntuforums.org/showpost.php...58&postcount=6

    Du musst also einfach aus dem
    Code:
    extern BOOL WINAPI SetDllDirectoryA(LPCTSTR lpathName);
    ein
    Code:
    extern "C" BOOL WINAPI SetDllDirectoryA(LPCTSTR lpathName);
    machen und dann funktioniert es.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •