La liaison de MSVC DLL à partir de MinGW

J'essaie de relier le LizardTech GeoExpress DSDK dans ma propre application. J'utilise gcc afin que nous puissions établir sur les plates-formes. Sur Linux et Mac cela fonctionne facilement: ils fournissent une bibliothèque statique (libltidsdk.a) et les en-têtes et tout ce que nous avons à faire est de les utiliser.

De compiler pour windows n'est pas si facile. Ils ont construit la bibliothèque à l'aide de Microsoft Visual Studio, et on utilise MinGW. J'ai lu le MinGW FAQ, et je suis en cours d'exécution dans les problèmes ci-dessous. La bibliothèque est tous C++, donc ma première question: est-ce même possible?

Juste un lien à l'encontre de la dll en tant que condition rendements "undefined reference" erreurs pour tous les appels C++ (constructeurs, desctructors, méthodes, etc).

Basé sur le MinGW Wiki:
http://www.mingw.org/wiki/MSVC%5Fand%5FMinGW%5FDLLs
Je devrais être en mesure d'utiliser l'utilitaire reimp pour convertir un .lib en quelque chose d'utilisable. J'ai essayé toutes les .lib fichiers fournis par LizardTech, et ils donnent tous des "invalides ou corrompus bibliothèque d'importation". J'ai essayé les deux version de 0,4 et 0,3 de la reimp utilitaire.

En utilisant la deuxième méthode décrite dans le wiki, j'ai couru pexport et dlltool sur la dll pour obtenir un .une archive, mais qui produit la même undefined références.

BTW: j'ai lu la discussion ci-dessous. Il a laissé une certaine ambiguïté quant à savoir si c'est possible, et compte tenu de la MinGW page de Wiki, il semble que ce devrait être faisable. Si c'est impossible, c'est tout que j'ai besoin de savoir. Si cela peut être fait, je voudrais savoir comment je peux obtenir ce que cela arrive.

Comment faire un lien vers VS2008 généré .libs de g++

Merci!

InformationsquelleAutor IndigoFire | 2010-03-18