Каковы общие шаги по переносу моего проекта на моно? - PullRequest
7 голосов
/ 19 августа 2010

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

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

Ответы [ 3 ]

4 голосов
/ 20 августа 2010

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

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

Смотрите также: www.mono-project.com / CPlusPlus

3 голосов
/ 19 августа 2010

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

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

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

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

0 голосов
/ 20 августа 2010

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

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

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

...