Включить ImageMagick в MonoTouch - PullRequest
       17

Включить ImageMagick в MonoTouch

0 голосов
/ 13 апреля 2011

Как лучше всего использовать ImageMagick в MonoTouch?

Добавление библиотеки ImageMagickNET, по-видимому, приводит к ошибкам во время выполнения, например:

Метод 'Модуль: CrtImplementationDetails.DoDllLanguageSupportValidation ()' в сборке '/ ImageMagickNET / bin / ReleaseQ8 / ImageMagickNET.dll 'содержит собственный код, который не может быть выполнен Mono на этой платформе.Сборка, вероятно, была создана с использованием C ++ / CLI.

Доступны бинарные файлы для iPhone, я полагаю, мне нужно связать всю библиотеку, как описано здесь:

http://monotouch.net/Documentation/Binding_New_Objective-C_Types

?

Спасибо за помощь:)

Ответы [ 2 ]

2 голосов
/ 16 апреля 2011

Во-первых, почему это не работает.

Во-вторых, что вы можете с этим поделать.

Почему это не работает: используемая библиотека компилируется с помощью компилятора C ++ / CLI для библиотек Microsoft.

Весь управляемый код, который вы используете в MonoTouch, должен быть скомпилирован с использованием сборок и инструментов MonoTouch, поэтому вышеперечисленное не будет работать по двум причинам: (a) в Mono отсутствует компилятор C ++ / CLI и (b), даже если он существует, вы должны ссылаться на моно сборки

Что вы можете с этим поделать: вы можете собрать ImageMagic с помощью компилятора Apple C, а затем связать полученный код с вашим приложением:

http://monotouch.net/Documentation/Linking_Native_Libraries

Затем для каждого метода ImageMagick, к которому вы хотите получить доступ, вам нужно обернуть его с помощью P / Invoke, руководство доступно здесь:

http://www.mono -project.com / Interop_with_Native_Libraries

0 голосов
/ 14 апреля 2011

, эта ошибка отвечает на ваш вопрос:

в сборке '/ImageMagickNET/bin/ReleaseQ8/ImageMagickNET.dll' содержит собственный код, который не может быть выполнен Mono на этой платформе.

Быстрый Google сообщает мне на странице кодового сплетения imagemagick , что вы, вероятно, используете то, что называется «оберткой».

это означает, что сам код imagemagick сам по себевсе еще не .NET imagemagick, который никогда не будет работать на вашем iPhone.

...