Linux開発環境構築−3
OpenCVのビルド
OpenCVのビルドにはCmakeを使うようなので、インストールします。(普通にsudo apt installで行いました)
ビルドはWindowsでもやっていたので、同じようにstaticです。
・BUILD_SHARED_LIBSのチェックを外す
この辺は他のサイトで詳しく書かれているはずなので、省略します。
CodeBlocksの設定
またここでハマりました!Windowsと同じように設定してもエラー!・・・疲れてきました。
ネットを彷徨うこと数日。。。英語全く出来ないんですよねぇ。。。で、見つけた情報が「ライブラリの順番が大事だ」とのこと。でも順番の正解はどこにも書かれてない!おぃおぃ、エラー見ながら順番入れ替えて、ってやってられるか!(途中でやめました)
更に彷徨いながら見つけた情報は、下記
g++ sample.cpp `pkg-config --cflags --libs opencv4` -o sampleB
これでコンパイル出来るらしい・・・pkg-configって?いろいろ調べるとCmakeでの設定にも「OPENCV_GENERATE_PKGCONFIG」ってある。これをチェックし再度ビルドしてみた。
「lib/pkgconfig」の中に「opencv4.pc」ってファイルが出来てた。中身はこれ
# Package Information for pkg-config prefix=/home/hry/library/opencv exec_prefix=${prefix} libdir=${exec_prefix}/lib includedir=${prefix}/include/opencv4 Name: OpenCV Description: Open Source Computer Vision Library Version: 4.5.3 Libs: -L${exec_prefix}/lib -lopencv_gapi -lopencv_highgui -lopencv_ml -lopencv_objdetect -lopencv_photo -lopencv_stitching -lopencv_video -lopencv_calib3d -lopencv_features2d -lopencv_dnn -lopencv_flann -lopencv_videoio -lopencv_imgcodecs -lopencv_imgproc -lopencv_core Libs.private: -L${exec_prefix}/lib/opencv4/3rdparty -llibprotobuf -lade -littnotify -llibjpeg-turbo -llibwebp -llibtiff -llibopenjp2 -lIlmImf -lquirc -lippiw -lippicv -L/usr/lib/x86_64-linux-gnu -lpng -lz -ldl -lm -lpthread -lrt Cflags: -I${includedir}
ふむふむ、インクルードパス、ライブラリパス、ライブラリが書いてある。。。なぁんだ、結局同じじゃん!これもダメか。。。ん?ライブラリの順番が大事だったんだと思いだした。もしかして上記の順番でCodeBlocksに設定すればいけるのか?
とりあえず設定、(パスも)
適当なサンプルを試すと動きました。とりあえずこれでおしまい。
何作ろうかな・・・