簡體   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