2

私はネイティブ ライブラリを扱うのが初めてで、この質問はばかげているように思えるかもしれませんので、ご容赦ください。

LTI-CIVIL をダウンロードして、Web カメラからのビデオ入力をキャプチャしました。Eclipse でライブラリを作成し、ネイティブ ファイルの場所を指定する必要があります。

ネイティブ dll が にあると仮定すると、E:\files\lti-civil\src\native\ms(x86)これらを jar ファイルと一緒に追加して、友人に送信できるスタンドアロン アプリケーションを作成したいと考えています。

現在、Eclipse自体からプログラムを実行できますが、E:\blah_blah他の人のコンピューターではそうではない可能性があります

では、スタンドアロン アプリケーションを作成できるようにするには、これらをどのようにパックすればよいでしょうか。Eclipse の src にフォルダーを作成し、そこにフォルダーを追加しますか?

4

2 に答える 2

4

この質問/回答を見てください。あなたがやろうとしていることをカバーしているので。

その答えが何をすべきかをカバーするために、.jar 内に .dll をパッケージ化します。その .jar をプロジェクト内に含めます。実行する前に、それらを一時フォルダーに抽出し、プログラムにその場所を使用するように指示します。

Eclipse から自己完結型の JAR を作成するには、次の手順を実行します。

ステップ1

プロジェクトを右クリックし、[エクスポート] を選択します

ステップ2

Javaの下でRunnable JAR Fileを選択します

ステップ 3

生成された JAR に必要なライブラリを抽出するを選択します

これにより、単一のスタンドアロン アプリケーションを好きな人に送信することができます。

于 2013-03-28T15:42:08.123 に答える
2

Java は Windows のアーカイブ ファイルから DLL をロードできないため、DLL を jar ファイルにパックすることはできません。1 つの可能性は、Java プログラム (.jar として) と DLL を別々に含むものを配布することです。どちらもインストール時に抽出されます。

一般的な選択肢は、ユーザーが手動で解凍する必要がある ZIP ファイル、自己解凍型 ZIP ファイル、またはInnoSetupなどによって生成された「セットアップ」プログラムです。

もう 1 つの可能性は、DLL を .jar ファイルにパックし、アプリケーションが起動時に一時ディレクトリなどに展開するようにすることです。

DLL がファイル システムに配置されたら、System.loadまたはでロードできますSystem.loadLibrary

于 2013-03-28T15:26:48.997 に答える