我正在尝试使用文档中基于Homebrew的安装说明安装OpenCV。
brew edit opencv # edit file and set -DBUILD_opencv_java=ON
brew install --build-from-source opencv
然后,我尝试在我的Java项目中使用生成的OpenCV jar,但它在运行时失败了,因为用于编译的Java版本与我的运行时不匹配。
Caused by: java.lang.UnsupportedClassVersionError: org/opencv/core/Core has been compiled by a more recent version of the Java Runtime (class file version 54.0), this version of the Java Runtime only recognizes class file versions up to 52.0
我需要用Java 8编译它,但它是用Java 10编译的。
如何告诉Homebrew/OpenCV要使用哪个版本的javac
我已经尝试将我的JAVA_HOME设置到所需的位置,但它仍然不起作用。
请参阅使用brew 构建OpenCV时设置目标java版本
用户minhtus回答自己的问题;
找到答案,放入额外的-DOPENCV_JAVA_TARGET_VERSION=1.8 argscmake酿造配方奶粉。
您可以使用命令执行此操作;
brew编辑opencv
然后在编辑器中查找;
args = std_cmake_args + %W[ -DCMAKE_OSX_DEPLOYMENT_TARGET= -DBUILD_JASPER=OFF -DBUILD_JPEG=OFF -DBUILD_OPENEXR=OFF -DBUILD_PERF_TESTS=OFF
并插入java版本标志。