Qt4Dotnet в Mac OS X - PullRequest
       22

Qt4Dotnet в Mac OS X

1 голос
/ 26 августа 2009

Я использую проект Qt4Dotnet для переноса приложения, изначально написанного на C #, на Linux и Mac. Переход на Linux не потребовал особых усилий и работает нормально. Но Mac (10.4 Tiger) немного более упрям.

Проблема в том, что когда я пытаюсь запустить свое приложение, оно выдает исключение. Исключение гласит, что com.trolltech.qt.QtJambi_LibraryInitializer не может найти все необходимые файлы. Инициализатор библиотеки QtJambi использует переменную окружения java.library.path VM. Эта переменная включает текущий рабочий каталог. Я положил все необходимые библиотеки в рабочую директорию. Когда я пытаюсь запустить приложение из MonoDevelop IDE, инициализатор может загрузить одну библиотеку, но другие библиотеки «отсутствуют»:

An exception was thrown by the type initializer for com.trolltech.qt.QtJambi_LibraryInitializer ---> java.lang.RuntimeException: Loading library failed, progress so far: No 'qtjambi-deployment.xml' found in classpath, loading libraries via 'java.library.path' Loading library: 'libQtCore.4.dylib'... - using 'java.library.path' - ok, path was: /Users/chin/test/bin/Debug/libQtCore.4.dylib Loading library: 'libqtjambi.jnilib'... - using 'java.library.path'

Оба libQtCore.4.dylib и libqtjambi.jnilib находятся в одном каталоге. Когда я пытаюсь запустить его из командной строки, инициализатор не может загрузить даже libQtCore.4.dylib.

Я использую Qt4Dotnet v4.5.0 (в настоящее время самая последняя версия) с библиотеками QtJambi v4.5.2. Это может быть источником проблемы, но я не могу ни скомпилировать Qt4Dotnet v4.5.2 самостоятельно, ни найти библиотеки QtJambi v4.5.0. На странице проекта указано, что к исходному коду QtJambi необходимо применить какой-то патч, чтобы быть совместимым с платформой Mono, но этот патч еще не выпущен. Без этого патча приложение вылетает странным образом (кроме ошибки поиска в библиотеке).

Я должен отметить, что оригинальный QtJambi прекрасно загружает все необходимые библиотеки, поэтому могут возникнуть проблемы с компилятором IKVM, используемым для перевода QtJambi в библиотеку .Net.

Какие-нибудь предложения, как я могу преодолеть эту проблему?

1 Ответ

1 голос
/ 17 декабря 2009

Я думаю, что столкнулся с той же проблемой ранее сегодня. Как только я скопировал libikvm-native.dylib из моего текущего Mono в каталог exe моего проекта, он заработал. Фрэнк напомнил мне сделать это в списке здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...