E 'possibile ottenere un progetto Delphi per creare un file lib come l'uscita del progetto?

StackOverflow https://stackoverflow.com/questions/2827649

  •  26-09-2019
  •  | 
  •  

Domanda

lo voglio creare DLL e LIB. perché questa dll è staticamente collegato ad un altro dll CPP. quindi devo avere il file lib.

sto usando l'IDE di Delphi 4

È stato utile?

Soluzione

No, Delphi non genera lib file. Essa non ha alcun uso per loro.

Ci sono modi per creare un file lib da una DLL . Ad esempio, è possibile utilizzare IMPLIB , se ne è venuto con la versione di Delphi.

Altri suggerimenti

Utilizzo in DLL C ++ creati in Delphi (come viceversa) è abbastanza facile, ma è necessario seguire semplici regole. Presumo che si sta tentando di utilizzare Delphi DLL nel progetto C ++:

  1. È necessario utilizzare la stessa convenzione di chiamata. Per impostazione predefinita, usi Delphi registrano convenzione (__fastcall in C ++ terminologia). Predefinito convenzione di chiamata per tutti i Windows DLL è __stdcall, in modo da modificare prima il dichiarazione di funzione nel file sorgente Delphi nel seguente modo:

    funzione DoSomething (x, y: Integer): Integer; stdcall ;

  2. Quando utilizzare __stdcall aspetta, C ++ funzioni esportate nella DLL di avere i nomi seguiti dal suffisso designa la dimensione complessiva dei params passati ad esso. Così, la vostra routine DoSomething dovrebbe diventare DoSomething @ 8, tenendo conto che la dimensione di Integer è di 4 byte e le vostre esportazioni sezione nel file .dpr dovrebbe essere simile:

    esportazioni
      DoSomething nome 'DoSomething @ 8'

  3. Crea intestazione C ++ con dichiarazione di funzione e includerlo al C ++ progetto:

    int __ declspec (dllimport) __ stdcall DoSomething ( int x, int y);

  4. Se si utilizza C ++ Builder o Visual C ++, utilizzare le utility IMPLIB che crea libreria di importazione (lib). V'è anche uno strumento lib venire con VC ++ che può fare lo stesso. Poi il collegamento con quel file .lib invece di dll.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top