DLL aus Visual Studio 2008



  • Ich habe eine dll bekommen, die ich verwenden möchte. Diesse wurde in MS Visual Studio 2008 erstellt. Eine lib-Datei gabs auch dazu swoie mehrere Header -Dateien. Beim verwenden der lib-Datei gabs gleich Linkerfehler:

    [ilink32 Fehler] Error: Nicht auflösbares externes 'Export_Message::getType()' referenziert von K:\TESTEN\WIN32\DEBUG\BLABLA.OBJ
    

    Daher hab ich mit implib -a aus der dll-Datei eine eigene lib-Datei erzeugt. Auch hier gibt es Linkerfehler

    Ich habe mir dann mit impdef aus der dll eine def-Datei erzeugt. Dort fällt auf, dass vor den Methodennamen Zeichen stehen, die dort nicht hingehören:

    LIBRARY     TEST.DLL
    
    EXPORTS
        ??0TestApp@@QAE@ABVQString@@PAVMeasureControl@@PAVQWidget@@@Z @1   ;
    

    Ich vermute, dass in MS Visual irgendeine Option gesetzt werden muss.
    Hat jemand eine Idee?



  • $ undname.exe ??0TestApp@@QAE@ABVQString@@PAVMeasureControl@@PAVQWidget@@@Z
    Microsoft (R) C++ Name Undecorator
    Copyright (C) Microsoft Corporation. All rights reserved.

    Undecoration of :- "??0TestApp@@QAE@ABVQString@@PAVMeasureControl@@PAVQWidget@@@Z"
    is :- "public: __thiscall TestApp::TestApp(class QString const &,class MeasureControl *,class QWidget *)"





  • Dieser Thread wurde von Moderator/in Arcoth aus dem Forum C++ (alle ISO-Standards) in das Forum Compiler- und IDE-Forum verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Was muss ich nun tun, dass ich die dll in meinem Programm (erstellt in Embarcadero C++ Builder XE6) verwenden kann?



  • rudpower schrieb:

    Was muss ich nun tun, dass ich die dll in meinem Programm (erstellt in Embarcadero C++ Builder XE6) verwenden kann?

    Nichts, da nicht möglich.

    Korrektur: Möglich schon, aber nur über Umwege: Erstelle mit VC2008 eine C-Kompatible Wrapper-DLL, die kannst du dann auch unter dem C++ Builder XE6 verwenden.


Log in to reply