Ho un file di intestazione e un file .lib creato utilizzando C++.Utilizzo di un file .lib in un programma C#
Ora voglio usarlo in un programma C#. È possibile?
Ho un file di intestazione e un file .lib creato utilizzando C++.Utilizzo di un file .lib in un programma C#
Ora voglio usarlo in un programma C#. È possibile?
Non c'è un linker tradizionale che consente di importare la libreria. La soluzione migliore è compilare una libreria COM e utilizzare l'interoperabilità per utilizzarla.
Non direttamente. È possibile interagire con DLL non gestite tramite P/Invoke o assembly in modalità mista utilizzando C++/CLI. In entrambi i casi, dovrai creare un progetto wrapper o ricompilare il .lib originale (se hai i sorgenti) in DLL.
è possibile creare un gestito involucro, vedere passo dopo passo le istruzioni qui:
Non so su un file lib. Ma so che se si compila il codice come una DLL si può consumarlo come codice non gestito.
Per fare questo è necessario fare riferimento
System.Runtime.InteropServices
e sarà necessario definire il metodo che si desidera utilizzare e dargli l'attributo DllImport. Qualcosa di simile a questo:
[DllImport("MyCPPDll.dll")]
public void SomeMethod(int someParameter);
Qui ci sono alcuni link che dovrebbero aiutare a punto nella giusta direzione:
http://msdn.microsoft.com/en-us/library/26thfadc(v=vs.100).aspx
possibile duplicato di [Come usare \ * lib. file nell'applicazione C#?] (http://stackoverflow.com/questions/2848193/how-to-use-lib-file-in-c-sharp-application) – tafa