Каковы общие шаги по переносу проекта в моно?

У меня есть dll. и визуальный исходный код C ++ для него. (моя dll - это визуальная оболочка C ++ вокруг некоторых ffmpeg av * libs - еще одна предварительно скомпилированная dll), в то время как в том же решении (.sln) у меня есть проект C #, который использует мою dll.

каковы общие шаги для переноса моего проекта в монофонический режим?

7
задан Rella 19 August 2010 в 19:12
поделиться

3 ответа

Скомпилируйте ваш проект в Visual Studio, но включите следующие опции компилятора:

  • /clr:pure: Это сделает чистую сборку CLR (без каких-либо x86/x86-64 asm), которая должна работать на mono, если вы не используете некоторые вызовы времени выполнения C (CRT).
  • /clr:safe: То же самое, что и pure, но у вас не может быть ссылок на CRT, поэтому ваш проект может не скомпилироваться. Если он не скомпилируется, замените эти вызовы функций другими переносимыми вызовами.

Полученная сборка должна быть чистой CLR и будет работать с Mono.

Эта страница содержит все, с чем вы можете столкнуться при компиляции версии, работающей на Mono.

3
ответ дан 7 December 2019 в 12:13
поделиться

Mono не поддерживает сборки в смешанном режиме в операционных системах, отличных от Windows.

Удалите оболочку C ++ и перепишите приложение, чтобы использовать P / Invoke только для вызова машинного кода.

См. Также: www.mono-project.com/CPlusPlus

4
ответ дан 7 December 2019 в 12:13
поделиться

Я бы посоветовал также взглянуть на это -

http://mono-tools.com/store/

Существуют различные инструменты, которые помогут вам перенести на Mono - вы даже можете отлаживать в Visual Studio и упаковать его для развертывания в Linux.

-2
ответ дан 7 December 2019 в 12:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: