[OpenCV]cmake実行時のエラー

https://docs.opencv.org/master/dd/dd5/tutorial_py_setup_in_fedora.html

ここを参考にしつつ、ソースからOpenCVをインストールしようとしたところ、cmakeの実行時、エラーになりました。

※yumでインストールできるopencvはバージョンが低いのでソースからインストールを試しました。

※yumでは2.4.5、最新ソースだと4.4.0(2020/9現在)

# cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D WITH_EIGEN=ON -D WITH_OPENCL=OFF -D WITH_CUDA=OFF -D BUILD_opencv_gpu=OFF -D BUILD_opencv_gpuarithm=OFF -D BUILD_opencv_gpubgsegm=OFF -D BUILD_opencv_gpucodec=OFF -D BUILD_opencv_gpufeatures2d=OFF -D BUILD_opencv_gpufilters=OFF -D BUILD_opencv_gpuimgproc=OFF -D BUILD_opencv_gpulegacy=OFF -D BUILD_opencv_gpuoptflow=OFF -D BUILD_opencv_gpustereo=OFF -D BUILD_opencv_gpuwarping=OFF

CMake Warning: No source or binary directory provided. Both will be assumed to be the same as the current working directory, but note that this warning will become a fatal error in future CMake releases. CMake Error: The source directory “/usr/local/src/opencv/build” does not appear to contain CMakeLists.txt.

ググっても、解決する情報にヒットしなかったので、解決方法を残しておきます。
(そもそもcmakeって何?っていうのを理解していないのが問題?)

エラーの内容が、CMaleLists.txtがソースディレクトリに無いというエラー
だけど、公式ドキュメントには、opencvディレクトリでmkdir build、cd build、そこでcmakeしろと書いてある。
opencv直下には、CMakeLists.txtはあるけど、そこでcmakeを実行すると、

FATAL: In-source builds are not allowed. You should create a separate directory for build files.

というエラーになり、やっぱりダメ
buildフォルダのなかに、CMakeLists.txtをコピーしてもやっぱりダメ。同じエラー。
どうしていいかわからないから、とりあえずcmake –helpでcmakeのhelpを見る。
見ても何が解決につながるかわからない。。

わからないけど、

Usage

cmake [options] <path-to-source>

cmake [options] <path-to-existing-build>

cmake [options] -S <path-to-source> -B <path-to-build>

と、書いてあるので、もしかしてソースのpathとbuildのpathを指定すればどうなる?と思って、試してみました。

# cmake -S /usr/local/src/opencv -B /usr/local/src/opencv/build -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D WITH_EIGEN=ON -D WITH_OPENCL=OFF -D WITH_CUDA=OFF -D BUILD_opencv_gpu=OFF -D BUILD_opencv_gpuarithm=OFF -D BUILD_opencv_gpubgsegm=OFF -D BUILD_opencv_gpucodec=OFF -D BUILD_opencv_gpufeatures2d=OFF -D BUILD_opencv_gpufilters=OFF -D BUILD_opencv_gpuimgproc=OFF -D BUILD_opencv_gpulegacy=OFF -D BUILD_opencv_gpuoptflow=OFF -D BUILD_opencv_gpustereo=OFF -D BUILD_opencv_gpuwarping=OFF

# cmake [ -S /usr/local/src/opencv -B /usr/local/src/opencv/build ]←ここを追加

これで実行してみたら、cmakeができました。

この投稿へのコメント

コメントはありません。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

この投稿へのトラックバック

トラックバックはありません。

トラックバック URL