6

LTE-CIVIL を使用しようとしています。ライブラリを取得し、no-swt.jar とネイティブの win32 .jar を Eclipse のプロジェクトに追加したところ、このエラーが発生しました。このエラーを解決する方法を教えてください。プロジェクトに付属のサンプル コードを実行しようとしているだけです。

Exception in thread "main" com.lti.civil.CaptureException:java.lang.UnsatisfiedLinkError: no civil in java.library.path at com.lti.civil.impl.jni.NativeCaptureSystemFactory.createCaptureSystem(NativeCaptureSystemFactory.java:24)at com.lti.civil.test.CaptureSystemTest.main(CaptureSystemTest.java:33)Caused by: java.lang.UnsatisfiedLinkError: no civil in java.library.path at java.lang.ClassLoader.loadLibrary(Unknown Source)at java.lang.Runtime.loadLibrary0(Unknown Source) at java.lang.System.loadLibrary(Unknown Source)at com.lti.civil.impl.jni.NativeCaptureSystemFactory.createCaptureSystem(NativeCaptureSystemFactory.java:21)
4

1 に答える 1

3

このエラーは、アプリケーションがネイティブライブラリまたはdllを使用している場合に発生します。この問題を解決するには、dllにjava.library.path変数を追加する必要があります。ネイティブdllがC:/ Work / lti-civil / native / win32-x86でpresnetである場合と同様に、Civilクラスを使用する前に次のコードを追加する必要があります

    System.setProperty( "java.library.path", "C:/Work/lti-civil/native/win32-x86/" );
    Field fieldSysPath = ClassLoader.class.getDeclaredField( "sys_paths" );
    fieldSysPath.setAccessible( true );
    fieldSysPath.set( null, null );

それはあなたのdllをあなたのアプリケーションにロードします。

于 2013-02-07T08:43:05.853 に答える