エレメンタリーOS(Ubuntuベース)でOpenCVLibを使おうとしています。
私はこのチュートリアルに従いました:
https://www.youtube.com/watch?v=i1K9rXiei9I
この行をCmakeList.txtに追加しました:
find_package(OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})
target_link_libraries(myOpenCVTest ${OpenCV_LIBS})
しかし、プロジェクトをビルドすると、次のようなエラーで失敗します。
/usr/bin/ld: cannot find -lopencv_core
...
誰かが私を助けることができますか?
私は問題を解決しました。
まず、古いOpenCVファイルとインストールをすべて削除しました。
その後、私はこれに従って guide OpenCVと必要なすべてのパッケージをインストールしました。
そして今、すべてがこのCmakeList.txtで機能しています:
cmake_minimum_required(VERSION 2.8.4)
project(OpenCVTest)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
find_package( OpenCV REQUIRED )
set(SOURCE_FILES main.cpp)
add_executable(${PROJECT_NAME} ${SOURCE_FILES})
include_directories(${OpenCV_INCLUDE_DIRS})
target_link_libraries( ${PROJECT_NAME} ${OpenCV_LIBS} )
(コメントセクションのチャットに続いて)
インストールにどのビデオを使用したかはわかりませんが、cmakeベースのインストールを使用したと仮定すると、通常はmake
を実行し、続いて_Sudo make install
_を実行してすべてを正しい場所にコピーします
または、CMakeLists.txtにlink_directories(home/Projects/opencv/opencv-3/build/lib/)
とinclude_directories((home/Projects/opencv/opencv-3/include/)
を追加することもできます
CmakeファイルでOpenCV_FOUND 1
を強制的に宣言する必要がありました。ファイル全体は次のようになります:
cmake_minimum_required(VERSION 3.3)
project(testing)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
set(OpenCV_FOUND 1)
find_package( OpenCV REQUIRED )
set(SOURCE_FILES main.cpp)
add_executable(testing ${SOURCE_FILES})
target_link_libraries(testing ${OpenCV_LIBS})