意識低いエンジニアの一念発起ブログ

意識低くたってたまにはブログだって書くんだ。

Eclipseでネイティブライブラリをビルドパスに組み込む

今まで、すでにビルドパスが設定済みのプロジェクト(Java)を用いて開発してばかりだったので、
実はビルドパスの設定とかは詳しくないです。

jarをビルドパスに追加するくらいなら私にも経験がありました。(JUnitのライブラリ組み込んだり)

でもビルドパスにネイティブライブラリを組み込むという経験はなかったのでちょっと苦戦しました。
苦戦したので、きっと他にも苦戦する人がいるかもしれない。ということでここに書き記しておきましょう。(本当は自分の備忘ですが)

※ネイティブライブラリという言葉は、それぞれのOS用にコンパイルされたライブラリ、、、くらいの認識です。Windowsだと拡張子がdllだったり、MacOSXだとdylibだったり、Linuxだとsoだったりするやつです。(と思っています。)
EclipseはKeplerです。
※今回のOSはMacです。(追加したいライブラリは○○○.dylibです。)

まずネイティブライブラリが組み込まれていないと

こんなメッセージが出ます。
Exception in thread "main" java.lang.UnsatisfiedLinkError: no ○○○○○○ in java.library.path

またはこんなメッセージが出たりします。
Library not loaded: /opt/local/lib/○○○.dylib
Referenced from: /usr/local/lib/×××dylib

ネイティブライブラリを組み込んでみましょう(@Eclipse)

Configure Build Pathをクリック
f:id:sgr1120:20140427035751p:plain

Add Libraryをクリック(Add JARsはよくお世話になってました)
f:id:sgr1120:20140427040019p:plain

User Libraryを選んでNext
f:id:sgr1120:20140427040215p:plain

まだUser Libraryは何もないのでUser Libraryを追加します。
User Librariesを押します。
f:id:sgr1120:20140427040345p:plain

まず、Newをクリックしてこれから追加するユーザライブラリのセットを名づけます。(自分で定義してよいです。)
f:id:sgr1120:20140427040508p:plain

自分の場合は「fxrobolib」にしました。名付け終えたらそこでOKをクリック、Finishをクリックします。
f:id:sgr1120:20140427040734p:plain

f:id:sgr1120:20140427042417p:plain

Java Build Pathの一覧に出てきたUserLibraryを選択してnative library locationにフォーカスをあてて Editをクリックします。
f:id:sgr1120:20140427042453p:plain

ライブラリがワークスペースにある場合は、Workspaceを。そうでなければExternal Folderをクリック。
当該ライブラリがある場所を選択します。(ディレクトリごと選択できます。)
f:id:sgr1120:20140427042608p:plain

これにて完了。