Geanyのインストールと自分の設定メモ。
環境
- Ubuntu16.04
Geanyのインストール
sudo apt-get install geany
テーマのインストール
git clone https://github.com/codebrainz/geany-themes mv ./geany-themes/colorschemes ~/.config/geany/ rm -r ./geany-themes
Ubuntu16.04にEclipseを入れてみる。
環境
- Ubuntu16.04
パッケージの更新
sudo apt-get update sudo apt-get upgrade
日本語化
日本語化ツールをインストールして /etc/eclipse.ini を編集する。
sudo apt-get install pleiades sudo gedit /etc/eclipse.ini
エディタが開いたら下記を追記。
-javaagent:/usr/lib/eclipse/plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar
CeresSolverをUbuntu16.04にインストールする。
Google製の数値最適化ライブラリCeresSolverをUbuntuにインストールする。
環境
- Ubuntu16.04
流れ
ほとんど公式に書いてある通りです。簡単です。
- 依存関係のインストール
- ソースのダウンロード、展開
- ビルド、インストール
- 実行
依存関係のインストール
パッケージを最新にして、
CMake、google-glog + gflags、BLAS & LAPACK、Eigen3、SuiteSparse and CXSparseをインストール。
sudo apt-get update sudo apt-get upgrade sudo apt-get install cmake sudo apt-get install libgoogle-glog-dev sudo apt-get install libatlas-base-dev sudo apt-get install libeigen3-dev sudo apt-get install libsuitesparse-dev
ソースのダウンロード、展開
ここからソースをダウンロード。下記コマンドで展開。
tar zxf ceres-solver-1.12.0.tar.gz
ビルド、インストール
ビルド用のディレクトリを作ってCMakeでMakefileを作りビルド。
mkdir ceres-bin cd ceres-bin cmake ../ceres-solver-1.12.0 make make test
make testが正常に通ればビルド完了。
sudo make install
でインストール。
実行
適当にサンプルをコンパイルしてみます。
【参考URL】
参考URLからサンプルコードをお借りして、main.cppという名前で保存します。
以下のコマンドでコンパイル。
g++ main.cpp `pkg-config --cflags eigen3` `pkg-config --libs libglog` -lgflags -lceres -lpthread -fopenmp -lcholmod -lblas -llapack -lcxsparse
コンパイルのリンカーオプションが多く、pkg-configが使えるものと使えないものがあって少しハマりました。
自分の環境だとgflagsだったかのパスが通ってないなどでコンパイルが通リませんでした。
その場合は下記のようにして、LD_LIBRARY_PATH にgflagsのライブラリのパスを追加して下さい。
環境変数 LD_LIBRARY_PATH に /usr/lib/x86_64-linux-gnu を追加するため.bashrcに下記を追加。
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu
.bashrcを読み直し。
source ~/.bashrc
UbuntuにOpenCV3.2とcontribをインストールする。
まとめはしましたが、まだ試してみていないのでハマる箇所とか抜けがあるかもしれません。
流れ
- Ubuntuのパッケージを最新にする。
- gitとCmakeをインストールする。
- 依存関係をインストールする。
- OpenCVのソースとcontribのソースをダウンロードする。
- Cmakeを使って自分の環境に合ったソースを生成する。
- ソースをビルドする。
- ビルドしてできたバイナリとヘッダを適切な場所に配置する。
- 配置したバイナリとヘッダのパスを通す。
gitとCmakeをインストールする。
githubからソースをダウンロードするgitと、自分の環境に合ったソースを生成するCmakeをインストールします。
sudo apt-get install git sudo apt-get install cmake
依存関係をインストールする。
OpenCVのビルドに必要なライブラリなどをインストールします。
何が必要でどれをインストールしたらいいかは、OpenCVのドキュメントのチュートリアルやUbuntuのヘルプに書いてあります。
2つのURLで書いてあることが違うのですがどっちを信用すればいいかは分かりません。
他にも人によって若干違う(?)ような感じで、みなさんどこを参考にしているのでしょうか。違いは何なんですかね。
今回はOpenCVのドキュメントに従ってみます。
【参考URL】
- OpenCV: Installation in Linux
- OpenCV - Community Help Wiki
- Ubuntu 14.04にOpenCV 3.1.0をインストール - Akiraのメモ書き
sudo apt-get install build-essential sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
1行目2行目は必須。3行目はオプションみたいです。
ちなみにUbuntuのヘルプに従う場合は以下。-qqはエラー以外を表示しないというオプションです。
sudo apt-get -qq install libopencv-dev build-essential checkinstall cmake pkg-config yasm libjpeg-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev libxine-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev python-dev python-numpy libtbb-dev libqt4-dev libgtk2.0-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils ffmpeg cmake qt5-default checkinstall
参考にさせていただた記事に従うと以下になります。
sudo apt-get -y install libopencv-dev build-essential cmake git libgtk2.0-dev pkg-config python-dev python-numpy libdc1394-22 libdc1394-22-dev libjpeg-dev libpng12-dev libtiff4-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libxine-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev libtbb-dev libqt4-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils unzip
ソースをダウンロードする。
【参考URL】
インストールしたgitを使ってOpenCVのソースをダウンロードします。
ダウンロードする場所はどこでもいいのですが、今回はホーム直下にSourcesというディレクトリを作ってその中にダウンロードします。
下記のコマンドでホームに移動してSourcesというディレクトリを作成します
cd ~ mkdir Sources
できたディレクトリに移動してOpenCVのソースとcontribのソースをダウンロードする。
cd Sources git clone https://github.com/opencv/opencv.git git clone https://github.com/opencv/opencv_contrib.git
ソースのダウンロードはgitを使わなくても公式サイトからダウンロードしたり、githubのリリースのところからダウンロードしてもたぶん大丈夫です。
違いは、gitは最新バージョンで、公式サイトやgithubのリリースのところは安定バージョンがダウンロードできるってだけだと思います。
ダウンロード速度は公式サイトやgithubのリリースところからダウンロードしたほうが速いっぽいです。
Cmakeを使って自分の環境に合ったソースを生成する。
【参考URL】
まずダウンロードしたソースのディレクトリに移動してビルド用のディレクトリを作り、さらにそのディレクトリに移動します。
cd opencv mkdir build cd build
次に、Cmakeを使って自分の環境に合ったソースを生成します。
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=~/Sources/opencv_contrib/modules ..
一つ目のオプションはリリースモードを選択しています。
二つ目のオプションはインストールする場所を選択しています。
三つ目のオプションはOpenCVのcontribの場所を指定しています。gitでダウンロードしたopencv_contribの中のmodulesディレクトリを指定しましょう。
他にも必要ならば『-D WITH_CUDA=ON』や『-D WITH_TBB=ON』『-D WITH_FFMPEG=ON』などを追加してください。
何が設定できるかはCMakeLists.txtを見ればいいっぽいです。
ソースをビルドする。
make -j $(nproc)
配置したバイナリとヘッダを反映させる。
共有ライブラリにコピーされただけでは反映されないので、
このコマンドで共有ライブラリにコピーされたバイナリとヘッダを反映します。(たぶん)
sudo ldconfig
最後に
これで、OpenCVが使えるようになったはずです。
PythonやC++で試してみましょう。
また、この記事に書いてあること以外に、
CMakeを使う前にこのコマンドを入力しないとエラーがでるかもしれないとか、
export PYTHON_INCLUDE_DIRS="/usr/include/python2.7" export PYTHON_LIBRARYS="/usr/lib/x86_64-linux-gnu/libpython2.7.so"
最後に以下のコマンドが必要かもしれないと、参考にさせていただいた記事にありました。
エラーが出てしまった人は試してみてください。
sudo cp ~/opencv-3.1.0/build/lib/cv2.so /usr/local/lib/python2.7/site-packages/ sudo /bin/bash -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
ちなみに、OpenCVを使うために必要なものは make install コマンドで共有ライブラリにコピーされたはずなので、
gitでダウンロードしたソース(つまりこの記事の中でいうと、Sourcesディレクトリの中身)は削除しても大丈夫なはずです。(たぶん)
また、アンインストールの方法は共有ライブラリにコピーされたバイナリとヘッダを削除するだけ?なのかな?
参考URLまとめ
【主な参考URL】
C++関連URLの個人的なまとめ。
増えてきたら個別に分ける。
その他C
WindowsのIPやプロキシ設定を変更するバッチファイルの作り方。
流れ
- 変更するコマンドをtxtで保存。
- 拡張子をbatに変更。
- 管理者権限で実行。