Ein letztes Mal noch werde ich dieses Thema hoffentlich in anspruch nehmen.
Es geht wie am Anfang der Diskussion eigentlich um MixedCompilers.
Ich habe eine DLL die ist mit VB v.6.0 (C++) erstellt worden ist.
Die Kompilierung ist aber ohne namemergling erfolgt.
Wenn ich den dependencywalker oder den pexports über die DLL schicke und mir ein Definition File ausgeben lasse stehen die Funktionnamen in Klartext dort. (Kein Namemergling)
Das scheint aber nicht das einzige Problem zu sein bei der Benutzung anderer Kompiler für DLLs.
Denn wenn ich die DLL in meinen jetzigen Algorithmus einbinde, sagt er mir immer wieder, dass die DLL nicht geladen werden kann. [QLibrary::load()]
Wenn ich mir aber den Artikel
Mixing Compilers bei MinGW ansehe, scheint es so als würde eine MSVC DLL mit dem MinGW mitlerweile funktionieren.
Even though GNU g++ can link MSVC C++ libraries now
Warum es wiederum nicht funktionieren könnte ist folgende Aussage:
But there is the fundamental conflict of different underlying exceptions and memory models.
Na was denn nun? Funktioniert das oder funktioniert das nicht?
Wie gesagt es gibt lediglich das DLL-File.
Wenn das nicht funktioniert - gibt es ein Workaround wie man es doch bewerkstelligen kann? Definition File einbinden oder Definition File + Dll in eine *.lib oder *.a konvertieren?!
Grüße,
Pixtar