繁体   English   中英

如何在Windows 10中将OpenCV库用于Qt?

[英]How to use OpenCV library to Qt in Windows 10?

我一直在按照此链接中的步骤进行操作: https : //wiki.qt.io/How_to_setup_Qt_and_openCV_on_Windows

我目前正在将Qt 5.10与最新的OpenCV 3.4.0一起使用。 我也安装了Python 3.6.3。

我在步骤mingw32-make -j 4遇到一些错误。

这是我从命令提示符复制的错误:

[100%] Linking CXX shared module ..\..\lib\python3\cv2.cp36-win_amd64.pyd
C:/Users/user/AppData/Local/Programs/Python/Python36/libs/libpython36.a: error adding symbols: File format not recognized
collect2.exe: error: ld returned 1 exit status
modules\python3\CMakeFiles\opencv_python3.dir\build.make:114: recipe for target 'lib/python3/cv2.cp36-win_amd64.pyd' failed
mingw32-make[2]: *** [lib/python3/cv2.cp36-win_amd64.pyd] Error 1
CMakeFiles\Makefile2:4081: recipe for target 'modules/python3/CMakeFiles/opencv_python3.dir/all' failed
mingw32-make[1]: *** [modules/python3/CMakeFiles/opencv_python3.dir/all] Error 2
Makefile:161: recipe for target 'all' failed
mingw32-make: *** [all] Error 2

有人可以向我解释我面临什么错误以及如何解决此问题吗? 我缺少一些文件吗?

我试图用谷歌搜索错误,但没有得到任何好的解释或解决此问题的方法。

对不起,我的英语不好,谢谢。

编辑:我找到了此链接: https ://pypi.python.org/pypi/opencv-python,其中有可供下载的cp36-win_amd64.pyd。 但是我确实更改了文件中的任何内容,因为我不确定我当前面临的错误是什么。

Edit2:我发现在此链接中: https : //github.com/opencv/opencv_contrib/issues/971 ,有些人和我的问题相同。 尚未解决问题,但正在调查中。

Edit3:我已经尝试使用Python 3.6.4的步骤。 也有同样的问题。 这是OpenCV Python的CMakeList.txt。 这是整个CMakeList.txt: https : //github.com/opencv/opencv/blob/master/CMakeLists.txt

if(BUILD_opencv_python3)
  status("")
  status("  Python 3:")
  status("    Interpreter:"     PYTHON3INTERP_FOUND  THEN "${PYTHON3_EXECUTABLE} (ver ${PYTHON3_VERSION_STRING})"       ELSE NO)
  if(PYTHON3LIBS_VERSION_STRING)
    status("    Libraries:"   HAVE_opencv_python3  THEN  "${PYTHON3_LIBRARIES} (ver ${PYTHON3LIBS_VERSION_STRING})"   ELSE NO)
  else()
    status("    Libraries:"   HAVE_opencv_python3  THEN  "${PYTHON3_LIBRARIES}"                                      ELSE NO)
  endif()
  status("    numpy:"         PYTHON3_NUMPY_INCLUDE_DIRS THEN "${PYTHON3_NUMPY_INCLUDE_DIRS} (ver ${PYTHON3_NUMPY_VERSION})" ELSE "NO (Python3 wrappers can not be generated)")
  status("    packages path:" PYTHON3_EXECUTABLE         THEN "${PYTHON3_PACKAGES_PATH}"                                    ELSE "-")
endif()

status("")
status("  Python (for build):"  PYTHON_DEFAULT_AVAILABLE THEN "${PYTHON_DEFAULT_EXECUTABLE}" ELSE NO)
if(PYLINT_FOUND AND PYLINT_EXECUTABLE)
  status("    Pylint:"  PYLINT_FOUND THEN "${PYLINT_EXECUTABLE} (ver: ${PYLINT_VERSION}, checks: ${PYLINT_TOTAL_TARGETS})" ELSE NO)
endif()

这是一个链接错误。 您应该告诉QMake(或CMake)在哪里查找库文件(在您的情况下为OpenCV)。 您可以查看以下链接: QMake CMake

还要检查Python和OpenCV的安装路径。

尝试从cmake取消选中此选项: BUILD_opencv_python_bindings_generator单击“生成”之前

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM