Quelqu'un a-t-il compilé la bibliothèque x264 à l'aide du backend CLI pour le compilateur gcc ?

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

  •  14-09-2020
  •  | 
  •  

Question

Quelqu'un a-t-il compilé la bibliothèque x264 en utilisant Back-end CLI pour gcc compilateur?(Compilé x264 dans une DLL .net)

Était-ce utile?

La solution

Utilisez-vous les fonctionnalités C99 ?Sinon, Visual C++ avec le /clr:pure l'option devrait faire l'affaire.Vous aurez besoin d'un peu de C++/CLI mélangé pour définir vos points d'entrée que d'autres projets .NET peuvent appeler, mais ceux-ci peuvent se trouver dans des fichiers complètement séparés (vous pouvez partager des fichiers source entiers uniquement en C avec des projets natifs).

MODIFIER:Guide de base pour réaliser ce travail :

  • Dans Visual Studio, créez un projet de bibliothèque de classes C++/CLI
  • Ajoutez tous vos fichiers sources C au projet
  • Dans Configuration du projet, définissez le chemin d'inclusion pour que vos en-têtes soient trouvés
  • Dans la configuration du projet, définissez également « Utilisation du Common Language Runtime » sur /clr:pure
  • Dans le fichier .cpp créé par l'assistant de nouveau projet, ajoutez #include directive pour les fichiers d'en-tête qui prototypent les fonctions que vous souhaitez utiliser.
  • Dans le ref class créé par le nouvel assistant de projet (dans le fichier .cpp susmentionné), ajoutez quelques fonctions (peut-être des fonctions statiques) qui appellent les fonctions de votre bibliothèque C.
  • Compilez, ajoutez ce .DLL comme référence de votre projet C# et profitez-en

À titre indicatif, au lieu de créer une fonction de transfert dans le ref class pour chaque fonction de la bibliothèque, vous souhaiterez peut-être créer des fonctions qui effectuent un travail utile (pour la définition particulière d'utile pour votre projet particulier) en appelant un ensemble de fonctions de bibliothèque.

Vous voudrez probablement vous familiariser avec le marshal_as modèle qui est bon pour convertir .NET System::String en chaînes C et vice-versa.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top