2011-06-19 19 views
0

私のプログラムを開発するとき、私はこのエラーを回避しました。 64ビットJVM上で32ビットSWTライブラリを使用することはできないと言われました。だから私は行って、64ビットのライブラリを手に入れて使った。 32ビットOSの別のコンピュータでプログラムを実行すると、エラーが発生します。あなたは32ビットまたは64ビットのOSを持っているかどうかにかかわらずSWTを動かす方法はありませんか?SWT:UnsatisfiedLinkError、32ビットJVMでx64 SWTライブラリをロードできません

答えて

0

ビルドパスはSWTライブラリのセットごとに異なりますので、アプリケーションを実行するオペレーティングシステムごとに別々のバージョンを作成する必要があります。これを行うには、JREとプラットフォーム固有のライブラリのみが含まれるようにビルドパスを構成し、実行可能なjarを作成します(Eclipseはこれに適しています)。それは退屈で、Javaのパラダイムに逆らっていますが、私が知っている唯一の方法です。

+0

しかし、これは変です。数か月前に私は64ビットと32ビットのマシンで完全に動作するプログラムで32ビット版のSWTを使用したと誓っていました。 –

1

製品に両方のバージョンを含める必要があります。そのため、アーキテクチャに関係なく正しいバージョンが使用できるようになります。また、製品を本当にポータブルにするために、LinuxとMacのバージョンを含めることもできます。

+0

どうすればよいですか?私はbuildpathに両方を追加しようとしましたが、それは私のx64マシンで壊れました。 –

+0

これはOSGiの内部で実行したときではなく、外部で実行したときではありません。 –

関連する問題