2009-05-22 5 views
6

J'ai une bibliothèque (fichier lib + fichier d'en-tête .h). J'aime le transformer en DLL afin que je puisse facilement l'utiliser dans VB6. Y a-t-il un moyen pratique de le faire?Convertir le fichier d'en-tête lib + en DLL

+0

double possible [Convertir la bibliothèque Windows statique dll] (http://stackoverflow.com/questions/845183/convert-static-windows -library-to-dll) –

+1

Que contient la lib? Ne contient-il que des descripteurs d'importation pour certaines DLL externes ou contient-il du code réel? – 0xC0000022L

Répondre

2

Il suffit d'inclure le fichier d'en-tête dans un fichier .def dans un nouveau projet dll et de le lier à la bibliothèque statique.

Les détails sur la façon d'exporter les symboles avec un fichier DEF sont ici http://msdn.microsoft.com/en-us/library/d91k01sh(VS.80).aspx

+0

Sous Windows, il peut avoir à modifier le fichier d'en-tête pour informer VC quels symboles doivent être exportés de la DLL. donc il peut ajouter quelques __declspec xxx autour des fonctions dans le fichier d'en-tête. – Friedrich

+1

Vous pouvez utiliser un fichier .def pour forcer l'exportation de fonctions sans avoir besoin de __declspec dans les en-têtes. Je recommande ceci parce que l'affiche ne nécessite pas l'en-tête pour importer et exporter. – iain

+0

Rappelez-vous que le fichier def contient les noms écrasés, donc pour C++, ce sera particulièrement difficile à maintenir. – rubenvb

Questions connexes