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.