2009-08-26 14 views
1

私はQt4Dotnet projectを使用しています。これは、もともとはLinuxとMacでC#で書かれたアプリケーションを移植するためです。 Linuxへの移植はあまり努力しておらず、うまく動作しています。しかし、Mac(10.4 Tiger)はもう少し頑固です。Qt4Dotnet on Mac OS X

問題は:アプリケーションを起動しようとすると例外がスローされます。例外として、com.trolltech.qt.QtJambi_LibraryInitializerは必要なライブラリをすべて見つけることができません。 QtJambiライブラリ初期化子はjava.library.path VM環境変数を使用します。この変数には現在の作業ディレクトリが含まれます。私は必要なライブラリをすべて作業ディレクトリに置いています。私はMonoDevelopのIDEからアプリケーションを実行しようとすると、初期化子は、1つのライブラリをロードすることができますが、他のライブラリが「行方不明」されています

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.dyliblibqtjambi.jnilibの両方が同じディレクトリにあります。コマンドプロンプトから実行しようとすると、イニシャライザはlibQtCore.4.dylibをロードすることさえできません。

QtJambi v4.5.2ライブラリでQt4Dotnet v4.5.0(現在は最新)を使用しています。これは問題の原因かもしれませんが、自分でQt4Dotnet v4.5.2をコンパイルすることも、QtJambi v4.5.0ライブラリを見つけることもできません。 Projectのページには、Monoフレームワークと互換性を持たせるためにQtJambiのソースコードに何らかのパッチを適用する必要があると書かれていますが、このパッチはまだリリースされていません。このパッチがなければ、アプリケーションは異常な方法でクラッシュします(ライブラリのシークフォールト以外)。

オリジナルのQtJambiはすべての必要なライブラリを完全にロードするので、QtJambiを.Netライブラリに変換するために使用されるIKVMコンパイラの問題かもしれないことに注意する必要があります。

この問題を解決するにはどうすればよいですか?

答えて

1

今日私は同じ問題に直面したと思う。 libikvm-native.dylibを私の現在のMonoからプロジェクトのexeディレクトリにコピーすると、すぐに機能しました。フランクはそれを私に言ったon the list here