2009-05-22 14 views
6

Ho una libreria (file lib + .h file header). Mi piace trasformarlo in una DLL, quindi posso tranquillamente usarlo in VB6. C'è un modo conveniente per farlo?Converti lib + header file in DLL

+0

possibile duplicato del [Convertire finestre statica biblioteca per dll] (http://stackoverflow.com/questions/845183/convert-static-windows -library-to-dll) –

+1

Cosa contiene la lib? Contiene solo dei descrittori di importazione per alcune DLL esterne o contiene codice effettivo? – 0xC0000022L

risposta

2

Basta includere il file di intestazione un file .def in un nuovo progetto dll e collegarlo alla lib statica.

I dettagli su come esportare i simboli con un file di definizione sono qui http://msdn.microsoft.com/en-us/library/d91k01sh(VS.80).aspx

+0

In Windows può essere necessario modificare il file di intestazione per informare VC quali simboli devono essere esportati dalla DLL. quindi può aggiungere qualche __declspec xxx attorno alle funzioni nel file di intestazione. – Friedrich

+1

È possibile utilizzare un file .def per forzare l'esportazione di funzioni senza richiedere __declspec nelle intestazioni. Lo consiglio perché il poster non richiede l'intestazione sia per l'importazione che per l'esportazione. – iain

+0

Ricordare che il file def contiene i nomi storpiati, quindi per C++ in particolare questo sarà un problema da mantenere. – rubenvb

Problemi correlati