Verknüpfung zu MSVC DLL von MinGW

Ich versuche, das LizardTech GeoExpress DSDK mit meiner eigenen Anwendung zu verknüpfen. Ich benutze gcc, damit wir für Plattformen kompilieren können. Unter Linux und Mac funktioniert dies problemlos: Sie stellen eine statische Bibliothek bereit (libltidsdk.a) und Header und alles, was wir tun müssen, ist, sie zu verwenden.

Für Windows zu kompilieren ist nicht so einfach. Sie haben die Bibliothek mit Microsoft Visual Studio erstellt, und wir verwenden MinGW. Ich habe die MinGW-FAQ gelesen und stoße auf die folgenden Probleme. Die Bibliothek ist alles C ++, also meine erste Frage: ist das überhaupt möglich?

Das einfache Verknüpfen mit der DLL, wie angegeben, führt zu "undefinierten Referenz" -Fehlern für alle C ++ - Aufrufe (Konstruktoren, Desktruktoren, Methoden usw.).

Basierend auf dem MinGW Wiki:http://www.mingw.org/wiki/MSVC%5Fand%5FMinGW%5FDLLs Ich sollte das Dienstprogramm verwenden könnenreimp um eine .lib in etwas brauchbares zu konvertieren. Ich habe alle von LizardTech bereitgestellten .lib-Dateien ausprobiert und sie geben alle "ungültige oder beschädigte Importbibliothek" aus. Ich habe beide Versionen 0.4 und 0.3 des Reimp-Dienstprogramms ausprobiert.

Mit der zweiten im Wiki beschriebenen Methode habe ich pexport und dlltool über die dll ausgeführt, um ein .a-Archiv zu erhalten, das jedoch dieselben undefinierten Verweise erzeugt.

BTW: Ich habe die Diskussion unten gelesen. Es gab einige Unklarheiten darüber, ob dies möglich ist, und angesichts der MinGW-Wiki-Seite sollte dies machbar sein. Wenn es unmöglich ist, ist das alles, was ich wissen muss. Wenn es möglich ist, würde ich gerne wissen, wie ich dies erreichen kann.

Wie man aus g ++ eine Verbindung zu VS2008-generierten .libs herstellt

Vielen Dank!

Antworten auf die Frage(4)

Ihre Antwort auf die Frage