Qualcuno ha compilato Lib X264 utilizzando il backend CLI per il compilatore GCC?

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

  •  14-09-2020
  •  | 
  •  

Domanda

Qualcuno ha compilato Lib x264 usando Backend CLI per GCC compilatore?(Compilato x264 in .NET DLL)

È stato utile?

Soluzione

Stai usando le funzionalità di C99? In caso contrario, Visual C ++ con l'opzione /clr:pure dovrebbe fare il trucco. Avrai bisogno di un po 'di c ++ / cli miscelato per definire i tuoi entryPoint che altri progetti .NET possono chiamare, ma quelli possono essere in file completamente separati (è possibile condividere i file di origine solo con i progetti nativi). Modifica: Guida di base per effettuare questo lavoro:

    .
  • In Visual Studio, creare un progetto di libreria C ++ / CLI CLASS
  • Aggiungi tutti i file di sorgente C al progetto
  • Nella configurazione del progetto, impostare il percorso include in modo che le intestazioni siano trovate
  • Nella configurazione del progetto, impostare anche "Utilizzo del runtime della lingua comune" su /clr:pure
  • Nel file .cpp creato dalla nuova procedura guidata del progetto, aggiungi la direttiva #include per i file di intestazione che prototipo le funzioni che si desidera utilizzare.
  • Nel ref class creato dalla nuova procedura guidata del progetto (nel file .cpp precedente), aggiungi alcune funzioni (forse funzioni statiche) che chiamano le funzioni della libreria C.
  • Compila, aggiungi questo .dll come riferimento del tuo progetto C # e goditi

Come suggerimento, invece di creare una funzione di inoltro nel ref class per ogni funzione nella libreria, è possibile effettuare funzioni che fanno funzioni utili (per la particolare definizione di utile per il tuo particolare progetto) chiamando un gruppo di Funzioni della libreria

Probabilmente vorrai sentirti a proprio agio con il modello marshal_as che è buono per convertire .NET System::String in C Strings e torna indietro.

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