这个问题让我回到连续2天,在这一点上我变得非常绝望。正如问题描述所述,我需要OpenCV 2.4.11 Java库32位版本,该版本将在运行Yosemite的Mac上与JDK 1.6一起运行。为Mac构建OpenCV JDK 6 32位
我需要这个,因为我使用的另一个库需要32位(and this is only available with JDK 1.6)。因此,我正在使用JDK 1.6并传递VM参数-d32
。
我有两个主要的尝试:
对于这两种尝试我第一次设置我的默认的JDK 6:
$nano .bash_profile //Opening the Bash Profile
export JAVA_HOME=$(/usr/libexec/java_home -v 1.6) //Set Java_Home to JDK 1.6
(应当指出的是,下面两种方法都没有问题。建库,JDK 1.7和64位)
方法1:我试着和CMake的构建OpenCV库:
I go to the directory where I saved the library
mkdir build //Create a build directory
cd build //Go the build directory
cmake -G "Unix Makefiles" -D CMAKE_OSX_ARCHITECTURES=i386 -D CMAKE_C_FLAGS=-m32 -D CMAKE_CXX_FLAGS=-m32 ..
(我发现这个方法从this线程)
这种尝试的旅程到此结束,因为有与链接的Java组件的一个问题:
-- Could NOT find JNI (missing: JAVA_AWT_LIBRARY JAVA_JVM_LIBRARY JAVA_INCLUDE_PATH JAVA_INCLUDE_PATH2 JAVA_AWT_INCLUDE_PATH)
和
-- Java:
-- ant: /usr/local/bin/ant (ver 1.9.6)
-- JNI: NO
-- Java tests: NO
的COM完整的输出可以找到here。
事实证明,这是CMake的一些问题,我尝试了this thread的建议。修改FindJNI.cmake
没有解决问题。
方法2我试着和自制建OpenCV库:
brew tap homebrew/science
brew install opencv --with-java --universal
构建云罚款。一旦我找到.jar
和.dylib
并在Eclipse中创建OpenCV库和运行项目,我得到以下错误:
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/opencv/core/Point : Unsupported major.minor version 51.0
,这意味着它不与JDK 1.6构建。
其他的想法/尝试:
- 尝试在其他计算机上的方法。我必须停止,因为我 遇到麻烦设置cmake和自制软件,因为计算机 没有设置为“开发人员”计算机,即他们没有Git, XCode等
- 使用JDK 1.5。原来,Yosemite不支持JDK,但我发现 this thread我怎么能尝试启动并运行。
- 尝试使用较早版本的OpenCV。我试过版本2.4.10但是 遇到了同样的问题。
我知道这并不便宜,但您可能需要更新。 –
安装最新的[来自Apple的Java 6 JDK](https://support.apple.com/kb/dl1572?locale=en_US)为我解决了另一个长期存在的32位库问题。作为参考,我看到'build 1.6.0_65-b14-468-11M4833'。 – trashgod
@PeterLawrey更新什么? –