Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 无法在Mac中使用cmake编译OPENCV\u额外的\u模块\u路径_Python_Macos_Opencv_Cmake_Pyenv - Fatal编程技术网

Python 无法在Mac中使用cmake编译OPENCV\u额外的\u模块\u路径

Python 无法在Mac中使用cmake编译OPENCV\u额外的\u模块\u路径,python,macos,opencv,cmake,pyenv,Python,Macos,Opencv,Cmake,Pyenv,我正试图编译OpenCV(4.2.0)以及OpenCV_contrib(4.2.0)中的其他模块,但我在CMakeLists文件夹中得到了错误日志。如果我尝试在没有opencv_额外模块_路径的情况下编译opencv,那么编译是成功的。我已经为opencv和opencv_contrib尝试了多个版本(如4.5.0、4.2.0、3.4.0),但我仍然面临以下错误。我正在使用python 3.6.5 Run Build Command(s):/usr/bin/make cmTC_b29c4/fast

我正试图编译OpenCV(4.2.0)以及OpenCV_contrib(4.2.0)中的其他模块,但我在CMakeLists文件夹中得到了错误日志。如果我尝试在没有opencv_额外模块_路径的情况下编译opencv,那么编译是成功的。我已经为opencv和opencv_contrib尝试了多个版本(如4.5.0、4.2.0、3.4.0),但我仍然面临以下错误。我正在使用python 3.6.5

Run Build Command(s):/usr/bin/make cmTC_b29c4/fast && /Applications/Xcode.app/Contents/Developer/usr/bin/make  -f CMakeFiles/cmTC_b29c4.dir/build.make CMakeFiles/cmTC_b29c4.dir/build
Building C object CMakeFiles/cmTC_b29c4.dir/CheckSymbolExists.c.o
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc  -F/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/System/Library/Frameworks -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wuninitialized -Winit-self -Wno-delete-non-virtual-dtor -Wno-unnamed-type-template-args -Wno-comment -fdiagnostics-show-option -Wno-long-long -Qunused-arguments -Wno-semicolon-before-method-body -ffunction-sections -fdata-sections  -fvisibility=hidden -fvisibility-inlines-hidden  -g  -O0 -DDEBUG -D_DEBUG -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -fPIE -o CMakeFiles/cmTC_b29c4.dir/CheckSymbolExists.c.o -c ../build/CMakeFiles/CMakeTmp/CheckSymbolExists.c
..build/CMakeFiles/CMakeTmp/CheckSymbolExists.c:8:19: error: use of undeclared identifier 'CL_VERSION_2_0'
  return ((int*)(&CL_VERSION_2_0))[argc];
                  ^
1 error generated.
make[1]: *** [CMakeFiles/cmTC_b29c4.dir/CheckSymbolExists.c.o] Error 1
make: *** [cmTC_b29c4/fast] Error 2


Run Build Command(s):/usr/bin/make cmTC_76915/fast && /Applications/Xcode.app/Contents/Developer/usr/bin/make  -f CMakeFiles/cmTC_76915.dir/build.make CMakeFiles/cmTC_76915.dir/build
Building CXX object CMakeFiles/cmTC_76915.dir/cpu_sse42.cpp.o
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++   -g -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -fPIE -std=c++11 -o CMakeFiles/cmTC_76915.dir/cpu_sse42.cpp.o -c ../opencv/cmake/checks/cpu_sse42.cpp ../opencv/cmake/checks/cpu_sse42.cpp:5:24: error: always_inline function '_mm_crc32_u8' requires target feature 'sse4.2', but would be inlined into function 'main' that is compiled without support for 'sse4.2'
    unsigned int res = _mm_crc32_u8(1, 2);
                       ^
1 error generated.
make[1]: *** [CMakeFiles/cmTC_76915.dir/cpu_sse42.cpp.o] Error 1
make: *** [cmTC_76915/fast] Error 2

我使用了下面的cmake命令进行编译,请注意,只有当我删除OPENCV_EXTRA_MODULES_PATH并从主分支编译OPENCV源代码时,相同的环境才能工作

cmake -D CMAKE_BUILD_TYPE=DEBUG \     -D CMAKE_INSTALL_PREFIX=/usr/local \
    -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib-4.2.0/modules \
    -D PYTHON3_LIBRARY=`python -c 'import subprocess ; import sys ; s = subprocess.check_output("python-config --configdir", shell=True).decode("utf-8").strip() ; (M, m) = sys.version_info[:2] ; print("{}/libpython{}.{}.dylib".format(s, M, m))'` \
    -D PYTHON3_INCLUDE_DIR=`python -c 'import distutils.sysconfig as s; print(s.get_python_inc())'` \
    -D PYTHON3_EXECUTABLE=../.pyenv/versions/3.6.5/bin/python3 \
    -D BUILD_opencv_python2=OFF \
    -D BUILD_opencv_python3=ON \
    -D INSTALL_PYTHON_EXAMPLES=ON \
    -D INSTALL_C_EXAMPLES=OFF \
    -D OPENCV_ENABLE_NONFREE=ON \
    -D BUILD_EXAMPLES=ON ../opencv-4.2.0