Кто-нибудь скомпилировал lib x264 с использованием CLI backend для компилятора gcc?

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

  •  14-09-2020
  •  | 
  •  

Вопрос

Кто-нибудь скомпилировал lib x264 с использованием Серверная часть CLI для gcc компилятор?(Скомпилирован x264 в .net dll)

Это было полезно?

Решение

Используете ли вы функции C99?Если нет, то Visual C++ с помощью /clr:pure этот вариант должен сработать.Вам понадобится немного C++ / CLI, чтобы определить ваши точки входа, которые могут вызывать другие .NET-проекты, но они могут быть в совершенно отдельных файлах (вы можете поделиться целыми исходными файлами только для C с собственными проектами).

РЕДАКТИРОВАТЬ:Основное руководство по тому, как заставить это работать:

  • В Visual Studio создайте проект библиотеки классов C++/CLI
  • Добавьте все ваши исходные файлы C в проект
  • В конфигурации проекта укажите путь включения, чтобы ваши заголовки были найдены
  • В конфигурации проекта также установите для параметра "Использование среды выполнения на общем языке" значение /clr:pure
  • В cpp-файл, созданный мастером создания проекта, добавьте #include директива для заголовочных файлов, которые являются прототипами функций, которые вы хотите использовать.
  • В ref class созданный мастером создания нового проекта (в вышеупомянутом файле .cpp), добавьте некоторые функции (возможно, статические функции), которые вызывают функции вашей библиотеки C.
  • Скомпилируйте, добавьте эту библиотеку .DLL в качестве ссылки на ваш проект на C# и наслаждайтесь

В качестве подсказки, вместо создания функции пересылки в ref class для каждой функции в библиотеке вы можете захотеть создать функции, которые выполняют полезную работу (для конкретного определения полезного для вашего конкретного проекта), вызвав набор библиотечных функций.

Вы, вероятно, захотите освоиться с marshal_as шаблон, который хорош для преобразования .NET System::String в строки C и обратно.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top