MinGW binutils -> dlltool



  • Hallo, ich möchte unter GCC eine fremde DLL statisch linken.
    Dafür benötige ich eine Import-Lib (*.a), die man mit den BinUtils erzeugen kann.

    Ich habe da eine Batch-File, die bei anderen DLLs funktioniert:

    set DLL=%1
    set LIB=OutLIB
    
    pexports -o %DLL% > %LIB%.def
    dlltool --def %LIB%.def --dllname %DLL% --output-lib %LIB%.a
    

    Bei dieser aber nicht, ich bekomme folgende Meldungen in der Console:

    >DLL2LIB.bat BugTrap.dll
    
    >set DLL=BugTrap.dll
    
    >set LIB=OutLIB
    
    >pexports -o BugTrap.dll  1>OutLIB.def
    
    >dlltool --def OutLIB.def --dllname BugTrap.dll --output-lib OutLIB.a
    [u][b]dlltool: CreateProcess[/b][/u]
    

    In Google hab ich dazu leider nichts gefunden das mir helfen könnte.
    Kennt sich hier vll. jemand mit dem Thema aus und kann mir helfen?

    EDIT: ...wenn nicht, dann ist es auch nicht so schlimm, werds dann auf die altmodische Art machen.

    Grüße



  • Ich glaube mich erinnern zu können, das im Laufe der Zeit 16bit, 32bit u.s.w.
    die Aufrufe der DLL heute anders aussehen müssen als zu Begin.

    Leider führen viele Beiträge, die im Netz zu DLLs zu finden sind nicht zu
    funktionierenden Programmen.

    Aber hier mal ein Link, der Hinweise geben kann:
    http://sei.pku.edu.cn/~caodg/course/c/mingw.html

    Die DLL hast du schon, wenn nicht:
    http://www.c-plusplus.net/forum/viewtopic-var-t-is-214232-and-highlight-is-dll.html

    MfG f.-th.



  • Ich habe versucht die DLL neu zu kompilieren, allerdings ist der Quellcode allein für VC geschrieben.
    Mein Versuch den Code zu portieren war erfolglos, denn das Programm macht starken gebrauch von Interfaces und MinGW liefert nicht alle erforderlichen Header mit.

    Daher werde ich wohl nicht drum rum kommen die DLL während der Laufzeit zu laden - das ist auf jeden Fall der schnellste Weg wie mir scheint. ^^

    Trotzdem viel Dank für die Hilfe!


Anmelden zum Antworten