10
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

IntelliJ IDEA で Scala + OpenCVの環境構築メモ (Mac)

Last updated at Posted at 2013-12-05

色々不運が重なって?構築にものすごい時間をとられたので, 私のようなやつを増やさないためのメモです.

はじめに, Scala + IntelliJの環境構築ですが, suin 様が非常に丁寧に説明されておりますのでそちらをご覧ください.

[【図解】Scala 2.10 + IntelliJ IDEA 12 で「Hello World」する] (http://qiita.com/suin/items/33ba576b3a253d7fa709 )

##OpenCV導入準備
んじゃ本題ですが, OpenCVをこちらから持ってきます. gitからでも問題無いです.

ダウンロードしたtar.gzファイルOpenCVを置いておきたいところに移動して,

shell-session
tar -zxvf hoge.tar.gz		(hogeはファイル名)

で解凍します.


同じ階層に同じ名前のフォルダができると思うので, その中に入ってbuildフォルダを作ります.

shell-session
cd hoge
mkdir build
cd build

んで, cmakeでビルド環境を生成します. cmakeはビルド条件を記述しておけば, 環境に依存せず自動的にビルド環境を作成してくれるらしいです.
cmakeが入ってない場合は, brewで入れちゃいましょう.
shell-session
brew install cmake

cmakeで環境生成

shell-session
cmake -DBUILD_SHARED_LIBS=OFF ..

ビルド環境が整ったら, makeでビルドしましょう.

shell-session
make -j8 

-jオプションは並列高速化らしいですね. 今回はじめて知りました.


build/binの中に.jarファイル, build/libの中に.soファイルがあるのが確認できたら準備は完了です. (はじめはこれが生成されてなくて, 何時間も悩んでました... )

##OpenCV導入
ここからIntelliJにOpenCVを導入していきます.

まず, 導入したいProjectを立ち上げます.

メニューから
File -> Project Structure を選びます.

そうすると下のような画面が出ると思うので, 矢印の先にある1 Jar~を選びます.

1.png

ファイル選択画面が表示されるので先ほど生成した.jarファイルを選んでください.


このまま, OpenCVが利用されたプログラムを走らせると,

java.lang.UnsatisfiedLinkError: no opencv_java247 in java.library.path

.soファイルがみつからねーよと怒られてしまうので, VM optionで場所を教えてあげます.

メニューから
Run -> Edit Configurations を選びます.

そうすると下のような画面が出てくると思うので矢印の位置に,

-Djava.library.path=.soファイルがあるディレクトリのpath

を入力します.

2.png





###これで構築完了です.


ここまで読んでいただきありがとうございました!
なにか間違っていることを書いている可能性があるので, そのときは教えていただけると嬉しいです.
環境構築で時間を費やしてしまう私みたいなやつがいなくなることを願います..
ではまた!

10
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?