ローカル マシンでプロジェクトを実行しようとしていました。
Mac 10.6.2 でこのプロジェクトの実行中のインスタンスから取得したこの jnilib ファイルを読み込もうとしました。
System.load(lib.getAbsolutePath());
次に、この例外がスローされました:
java.lang.UnsatisfiedLinkError, mach-o but wrong architecture
ファイルコマンドでjnilibをチェックしました:
libScreenMatchProxy.jnilib: Mach-O dynamically linked shared library i386
これは、jnilib ファイルが 32 ビットでコンパイルされているためだと思いますが、Mac10.6 に付属の Java は 64 ビットです。そこで、Java Preference に移動し、最初に 32 ビットを使用するように Java を設定します。しかし、うまくいきませんでした。
前述のように、この jnilib ファイルは、私の Mac で実行中のプロジェクトのインスタンスからコピーされているため、動作するはずです。インストールされたアプリケーションでは機能するのに、Eclipse では機能しない理由がわかりません。