首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >解决方法:没有规则让` `xxxxx‘需要目标`/home/xxxxx/opencv-3.4.5/build/lib/libopencv_stitching.so.3.4.5',。停

解决方法:没有规则让` `xxxxx‘需要目标`/home/xxxxx/opencv-3.4.5/build/lib/libopencv_stitching.so.3.4.5',。停
EN

Stack Overflow用户
提问于 2019-02-22 22:09:32
回答 1查看 636关注 0票数 0

我认为这几乎也是发生在here上的问题。

我做了这个构建的注释和答案,在CMakeLists.txt.but中添加了set(OpenCV_DIR xxxxx/opencv-3.4.5/ problem )它仍然是和下面一样的错误。

有人能帮帮我吗?首先谢谢你!

这是我的CMakeLists.txt:

代码语言:javascript
复制
cmake_minimum_required(VERSION 3.1)

# Enable C++11
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED TRUE)

# Define project name
project(xxxx)

set(OpenCV_DIR xxxxx/opencv-3.4.5/build)
find_package(OpenCV REQUIRED)

message(STATUS "OpenCV library status:")
message(STATUS "    config: ${OpenCV_DIR}")
message(STATUS "    version: ${OpenCV_VERSION}")
message(STATUS "    libraries: ${OpenCV_LIBS}")
message(STATUS "    include path: ${OpenCV_INCLUDE_DIRS}")

add_executable(xxxx xxxx.cpp)

target_link_libraries(xxxx ${OpenCV_LIBS})

这是CMake的日志。看起来成功了。

代码语言:javascript
复制
(base) ➜  cmake .
-- The C compiler identification is GNU 7.3.0
-- The CXX compiler identification is GNU 7.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found OpenCV: XXXXX/opencv-3.4.5/build (found version "3.4.5") 
-- OpenCV library status:
--     config: XXXXX/opencv-3.4.5/build
--     version: 3.4.5
--     libraries: opencv_calib3d;opencv_core;opencv_dnn;opencv_features2d;opencv_flann;opencv_highgui;opencv_imgcodecs;opencv_imgproc;opencv_ml;opencv_objdetect;opencv_photo;opencv_shape;opencv_stitching;opencv_superres;opencv_video;opencv_videoio;opencv_videostab;opencv_aruco;opencv_bgsegm;opencv_bioinspired;opencv_ccalib;opencv_cvv;opencv_datasets;opencv_dnn_objdetect;opencv_dpm;opencv_face;opencv_freetype;opencv_fuzzy;opencv_hdf;opencv_hfs;opencv_img_hash;opencv_line_descriptor;opencv_optflow;opencv_phase_unwrapping;opencv_plot;opencv_reg;opencv_rgbd;opencv_saliency;opencv_stereo;opencv_structured_light;opencv_surface_matching;opencv_text;opencv_tracking;opencv_xfeatures2d;opencv_ximgproc;opencv_xobjdetect;opencv_xphoto
--     include path: XXXXX/opencv-3.4.5/build;XXXXX/opencv-3.4.5/include;XXXXX/opencv-3.4.5/include/opencv;XXXXX/opencv-3.4.5/modules/core/include;XXXXX/opencv-3.4.5/modules/flann/include;XXXXX/opencv_contrib-3.4.5/modules/hdf/include;XXXXX/opencv-3.4.5/modules/imgproc/include;XXXXX/opencv-3.4.5/modules/ml/include;XXXXX/opencv_contrib-3.4.5/modules/phase_unwrapping/include;XXXXX/opencv-3.4.5/modules/photo/include;XXXXX/opencv_contrib-3.4.5/modules/plot/include;XXXXX/opencv_contrib-3.4.5/modules/reg/include;XXXXX/opencv_contrib-3.4.5/modules/surface_matching/include;XXXXX/opencv-3.4.5/modules/video/include;XXXXX/opencv_contrib-3.4.5/modules/xphoto/include;XXXXX/opencv-3.4.5/modules/dnn/include;XXXXX/opencv_contrib-3.4.5/modules/freetype/include;XXXXX/opencv_contrib-3.4.5/modules/fuzzy/include;XXXXX/opencv_contrib-3.4.5/modules/hfs/include;XXXXX/opencv_contrib-3.4.5/modules/img_hash/include;XXXXX/opencv-3.4.5/modules/imgcodecs/include;XXXXX/opencv-3.4.5/modules/shape/include;XXXXX/opencv-3.4.5/modules/videoio/include;XXXXX/opencv-3.4.5/modules/highgui/include;XXXXX/opencv-3.4.5/modules/superres/include;XXXXX/opencv-3.4.5/modules/ts/include;XXXXX/opencv_contrib-3.4.5/modules/bioinspired/include;XXXXX/opencv_contrib-3.4.5/modules/dnn_objdetect/include;XXXXX/opencv-3.4.5/modules/features2d/include;XXXXX/opencv_contrib-3.4.5/modules/line_descriptor/include;XXXXX/opencv_contrib-3.4.5/modules/saliency/include;XXXXX/opencv_contrib-3.4.5/modules/text/include;XXXXX/opencv-3.4.5/modules/calib3d/include;XXXXX/opencv_contrib-3.4.5/modules/ccalib/include;XXXXX/opencv_contrib-3.4.5/modules/cvv/include;XXXXX/opencv_contrib-3.4.5/modules/datasets/include;XXXXX/opencv-3.4.5/modules/objdetect/include;XXXXX/opencv_contrib-3.4.5/modules/rgbd/include;XXXXX/opencv_contrib-3.4.5/modules/stereo/include;XXXXX/opencv_contrib-3.4.5/modules/structured_light/include;XXXXX/opencv_contrib-3.4.5/modules/tracking/include;XXXXX/opencv-3.4.5/modules/videostab/include;XXXXX/opencv_contrib-3.4.5/modules/xfeatures2d/include;XXXXX/opencv_contrib-3.4.5/modules/ximgproc/include;XXXXX/opencv_contrib-3.4.5/modules/xobjdetect/include;XXXXX/opencv_contrib-3.4.5/modules/aruco/include;XXXXX/opencv_contrib-3.4.5/modules/bgsegm/include;XXXXX/opencv_contrib-3.4.5/modules/dpm/include;XXXXX/opencv_contrib-3.4.5/modules/face/include;XXXXX/opencv_contrib-3.4.5/modules/optflow/include;XXXXX/opencv-3.4.5/modules/stitching/include
-- Configuring done
-- Generating done
-- Build files have been written to: /home/user/Documents/pyproject/ocr/XXXXX

但是make失败了。日志如下:

代码语言:javascript
复制
(base) ➜  make
-- OpenCV library status:
--     config: XXXXX/opencv-3.4.5/build
--     version: 3.4.5
--     libraries: opencv_calib3d;opencv_core;opencv_dnn;opencv_features2d;opencv_flann;opencv_highgui;opencv_imgcodecs;opencv_imgproc;opencv_ml;opencv_objdetect;opencv_photo;opencv_shape;opencv_stitching;opencv_superres;opencv_video;opencv_videoio;opencv_videostab;opencv_aruco;opencv_bgsegm;opencv_bioinspired;opencv_ccalib;opencv_cvv;opencv_datasets;opencv_dnn_objdetect;opencv_dpm;opencv_face;opencv_freetype;opencv_fuzzy;opencv_hdf;opencv_hfs;opencv_img_hash;opencv_line_descriptor;opencv_optflow;opencv_phase_unwrapping;opencv_plot;opencv_reg;opencv_rgbd;opencv_saliency;opencv_stereo;opencv_structured_light;opencv_surface_matching;opencv_text;opencv_tracking;opencv_xfeatures2d;opencv_ximgproc;opencv_xobjdetect;opencv_xphoto
--     include path: XXXXX/opencv-3.4.5/build;XXXXX/opencv-3.4.5/include;XXXXX/opencv-3.4.5/include/opencv;XXXXX/opencv-3.4.5/modules/core/include;XXXXX/opencv-3.4.5/modules/flann/include;XXXXX/opencv_contrib-3.4.5/modules/hdf/include;XXXXX/opencv-3.4.5/modules/imgproc/include;XXXXX/opencv-3.4.5/modules/ml/include;XXXXX/opencv_contrib-3.4.5/modules/phase_unwrapping/include;XXXXX/opencv-3.4.5/modules/photo/include;XXXXX/opencv_contrib-3.4.5/modules/plot/include;XXXXX/opencv_contrib-3.4.5/modules/reg/include;XXXXX/opencv_contrib-3.4.5/modules/surface_matching/include;XXXXX/opencv-3.4.5/modules/video/include;XXXXX/opencv_contrib-3.4.5/modules/xphoto/include;XXXXX/opencv-3.4.5/modules/dnn/include;XXXXX/opencv_contrib-3.4.5/modules/freetype/include;XXXXX/opencv_contrib-3.4.5/modules/fuzzy/include;XXXXX/opencv_contrib-3.4.5/modules/hfs/include;XXXXX/opencv_contrib-3.4.5/modules/img_hash/include;XXXXX/opencv-3.4.5/modules/imgcodecs/include;XXXXX/opencv-3.4.5/modules/shape/include;XXXXX/opencv-3.4.5/modules/videoio/include;XXXXX/opencv-3.4.5/modules/highgui/include;XXXXX/opencv-3.4.5/modules/superres/include;XXXXX/opencv-3.4.5/modules/ts/include;XXXXX/opencv_contrib-3.4.5/modules/bioinspired/include;XXXXX/opencv_contrib-3.4.5/modules/dnn_objdetect/include;XXXXX/opencv-3.4.5/modules/features2d/include;XXXXX/opencv_contrib-3.4.5/modules/line_descriptor/include;XXXXX/opencv_contrib-3.4.5/modules/saliency/include;XXXXX/opencv_contrib-3.4.5/modules/text/include;XXXXX/opencv-3.4.5/modules/calib3d/include;XXXXX/opencv_contrib-3.4.5/modules/ccalib/include;XXXXX/opencv_contrib-3.4.5/modules/cvv/include;XXXXX/opencv_contrib-3.4.5/modules/datasets/include;XXXXX/opencv-3.4.5/modules/objdetect/include;XXXXX/opencv_contrib-3.4.5/modules/rgbd/include;XXXXX/opencv_contrib-3.4.5/modules/stereo/include;XXXXX/opencv_contrib-3.4.5/modules/structured_light/include;XXXXX/opencv_contrib-3.4.5/modules/tracking/include;XXXXX/opencv-3.4.5/modules/videostab/include;XXXXX/opencv_contrib-3.4.5/modules/xfeatures2d/include;XXXXX/opencv_contrib-3.4.5/modules/ximgproc/include;XXXXX/opencv_contrib-3.4.5/modules/xobjdetect/include;XXXXX/opencv_contrib-3.4.5/modules/aruco/include;XXXXX/opencv_contrib-3.4.5/modules/bgsegm/include;XXXXX/opencv_contrib-3.4.5/modules/dpm/include;XXXXX/opencv_contrib-3.4.5/modules/face/include;XXXXX/opencv_contrib-3.4.5/modules/optflow/include;XXXXX/opencv-3.4.5/modules/stitching/include
-- Configuring done
-- Generating done
-- Build files have been written to: /home/user/Documents/pyproject/ocr/XXXXX
Scanning dependencies of target XXXXX
[ 50%] Building CXX object CMakeFiles/XXXXX.dir/XXXXX.cpp.o
make[2]: *** No rule to make target 'XXXXX/opencv-3.4.5/build/lib/libopencv_stitching.so.3.4.5', needed by 'XXXXX'.  Stop.
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/XXXXX.dir/all' failed
make[1]: *** [CMakeFiles/XXXXX.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2

==edit added==

在cmake之后,build/lib中没有任何内容...

代码语言:javascript
复制
(base) ➜  build cd lib 
(base) ➜  lib ll
total 0
(base) ➜  lib pwd
/home/user/Documents/software/opencv-3.4.5/build/lib
(base) ➜  lib
......
(base) ➜  build ll
total 1.7M
drwxrwxrwx 11 root root 4.0K Feb 22 04:41 3rdparty
drwxrwxrwx  9 root root 4.0K Feb 22 04:41 apps
drwxrwxrwx  2 root root 4.0K Feb 22 04:41 bin
-rwxrwxrwx  1 root root 432K Feb 22 04:41 CMakeCache.txt
-rwxrwxrwx  1 root root  58K Feb 22 04:41 CMakeDownloadLog.txt
drwxrwxrwx 17 root root 4.0K Feb 22 04:41 CMakeFiles
-rwxrwxrwx  1 root root 7.8K Feb 22 04:41 cmake_install.cmake
-rwxrwxrwx  1 root root 1.2K Feb 22 04:39 cmake_uninstall.cmake
-rwxrwxrwx  1 root root 449K Feb 22 04:41 CMakeVars.txt
drwxrwxrwx  3 root root 4.0K Feb 22 04:39 configured
-rwxrwxrwx  1 root root 9.6K Feb 22 04:41 CPackConfig.cmake
-rwxrwxrwx  1 root root  10K Feb 22 04:41 CPackSourceConfig.cmake
-rwxrwxrwx  1 root root  604 Feb 22 04:41 CTestTestfile.cmake
-rwxrwxrwx  1 root root   70 Feb 22 04:39 custom_hal.hpp
-rwxrwxrwx  1 root root 5.1K Feb 22 04:41 cvconfig.h
-rwxrwxrwx  1 root root  796 Feb 22 04:41 cv_cpu_config.h
drwxrwxrwx  3 root root 4.0K Feb 22 04:41 data
drwxrwxrwx  3 root root 4.0K Feb 22 04:41 doc
drwxrwxrwx  3 root root 4.0K Feb 22 04:39 downloads
drwxrwxrwx  3 root root 4.0K Feb 22 04:41 include
drwxrwxrwx  2 root root 4.0K Feb 22 04:41 lib
-rwxrwxrwx  1 root root 438K Feb 22 04:41 Makefile
drwxrwxrwx 54 root root 4.0K Feb 22 04:41 modules
drwxrwxrwx  2 root root 4.0K Feb 22 04:41 opencv2
-rwxrwxrwx  1 root root  18K Feb 22 04:41 OpenCVConfig.cmake
-rwxrwxrwx  1 root root  418 Feb 22 04:41 OpenCVConfig-version.cmake
-rwxrwxrwx  1 root root  332 Feb 22 04:39 opencv_data_config.hpp
-rwxrwxrwx  1 root root 6.8K Feb 22 04:41 OpenCVGenPkgConfig.info.cmake
-rwxrwxrwx  1 root root  31K Feb 22 04:41 OpenCVModules.cmake
-rwxrwxrwx  1 root root 2.7K Feb 22 04:41 opencv_python_config.cmake
-rwxrwxrwx  1 root root  152 Feb 22 04:39 opencv_tests_config.hpp
-rwxrwxrwx  1 root root  46K Feb 22 04:41 pylint.cmake
drwxrwxrwx  3 root root 4.0K Feb 22 04:39 python_loader
drwxrwxrwx 10 root root 4.0K Feb 22 04:41 samples
-rwxrwxrwx  1 root root  650 Feb 22 04:41 setup_vars.sh
drwxrwxrwx  3 root root 4.0K Feb 22 04:39 share
drwxrwxrwx  5 root root 4.0K Feb 22 04:39 test-reports
-rwxrwxrwx  1 root root  124 Feb 22 04:39 text_config.hpp
drwxrwxrwx  2 root root 4.0K Feb 22 04:41 tmp
drwxrwxrwx  2 root root 4.0K Feb 22 04:41 unix-install
-rwxrwxrwx  1 root root 7.8K Feb 22 04:41 version_string.tmp

这是opencv cmake命令,如下所示:

==edit added==

代码语言:javascript
复制
(base) ➜  build cmake -D CMAKE_BUILD_TYPE=RELEASE \
            -D CMAKE_INSTALL_PREFIX=/home/user/Documents/software/installation/OpenCV-3.4.5 \
            -D INSTALL_C_EXAMPLES=ON \
            -D INSTALL_PYTHON_EXAMPLES=ON \
            -D WITH_TBB=ON \
            -D WITH_V4L=ON \
            -D OPENCV_PYTHON3_INSTALL_PATH=/root/anaconda3/lib/python3.7/site-packages \
        -D WITH_QT=ON \
        -D WITH_OPENGL=ON \
        -D OPENCV_EXTRA_MODULES_PATH=/home/user/Documents/software/opencv_contrib-3.4.5/modules \
        -D BUILD_EXAMPLES=ON ..
EN

回答 1

Stack Overflow用户

发布于 2019-02-22 22:14:25

不是很确定,但是你有没有试着改变

代码语言:javascript
复制
set(OpenCV_DIR xxxxx/opencv-3.4.5/build)

难道不应该是

代码语言:javascript
复制
set(OpenCV_DIR xxxxx/opencv-3.4.5/)

或者只是尝试预先构建opencv,然后将其链接到您的可执行文件。

EDIT1:

从opencv_root_dir/build

代码语言:javascript
复制
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
# use 3 cores to compile
make -j3 

然后

代码语言:javascript
复制
# will install it to /usr/local )
sudo make install 

添加到您的cmake文件:

代码语言:javascript
复制
# adds the lib folder to not specify prefix everytime
link_directories( /usr/local/lib/ ) 
target_link_libraries( "<all opencv libs from /usr/local/lib>" )

# adds the includes (dunno if this needed but had to do it in my project)
# but I think only if opencv includes are not located in your project
# root dir
target_include_directories( "/usr/local/include/opencv" or "/usr/local/include/opencv2"  ) # depends what you use

我还没有测试过它,但它对我的项目很有帮助。好消息是你不必每次都重建所有的opencv文件。此外,我还使用了*.so文件进行链接。*.a对我不起作用,但你自己试试吧。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54828901

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档