cmakeをつくるのに苦労したので、その記録。初心者だー
今作っているプログラムは、OpenGL & OpenCV & Eigenを使っています。それらのCmakeの作り方はそれぞれ違っていので、いろいろと参考になるねーってことでまとめ。また、私の環境はいろいろ制限(インストール不可+特定フォルダにアクセス不可)されているので、OpenGLはふつうはこんなことしなくてもいいかも。また、この理由によりパスは私の使っているものなので、自由に変更してほしい。変更するところだけ太字にしておく。
1.OpenCV
Windowsで自前でOpenCVをコンパイルした時にはCmakeはそのフォルダをわかってくれない。そのためOpenCV_DIRで場所をしていしてあげる。
ーーーーーCMakeList.txtの中身ーーーーー
# OpenCVインストールパスを指定
set(OpenCV_DIR "C:/dev/opencv-2.4.10/build/install")
# OpenCVのパッケージを探す
find_package(OpenCV REQUIRED)
# OpenCVが見つかった場合のみ設定を行う
if(OpenCV_FOUND)
# インクルードパスを指定
include_directories(${OpenCV_INCLUDE_DIRS})
# リンクするライブラリ指定
target_link_libraries(platform ${OpenCV_LIBS})
endif(OpenCV_FOUND)
2.Eigen
Eigenはインクルードのみで使えるライブラリなのでそのパスだけを指定してあげる。
ーーーーーCMakeList.txtの中身ーーーーー
# Eigen
include_directories("C:/dev/eigen-3.2.4")
3.OpenGL
なぜかこれをかなり苦労した。freeglutをダウンロードしてコンパイルして使っているのだが、フォルダ構成が違うせいかOpenCVと同じ方法をとっても何か上手くいかない。そのため、どうせ使うのはfreeglut.libとインクルードだけなので直接指定した。Cmakeの利点が消えている気がするがまぁいい。いつかいいことあるだろう。
ーーーーーCMakeList.txtの中身ーーーーー
# OpenCVのパッケージを探す
find_package(OpenGL REQUIRED)
include_directories("D:/twatanabe8/dev/freeglut-2.8.1/include")
target_link_libraries(platform "D:/twatanabe8/dev/freeglut-2.8.1/lib/x64/freeglut.lib")
0 件のコメント:
コメントを投稿