這個問題讓我回到連續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更新什麼? –