Tôi đang xây dựng một ứng dụng Java trên máy tính để bàn. Nó sử dụng một khuôn khổ của bên thứ ba cho một số công việc cấp thấp (đó là trong C và tôi đã sử dụng JNA).Java 7 sẽ chạy trong 32 bit trên mac
Trên máy tính Windows của tôi, khi tôi làm Native.loadLibrary("EDSDK.dll", EdSdkLibrary.class, options);
, nó hoạt động hoàn toàn tốt. Trên máy Mac khi tôi cố gắng làm Native.loadLibrary("EDSDK.framework", EdSdkLibrary.class, options);
nó đã ném UnsatisfiedLinkError
nói: mach-o, but wrong architecture
Phiên bản java 7 của tôi là 64 bit và khung là 32 bit. Trên một mac khác có chứa Java6, khi tôi chạy Java ở chế độ 32 bit, ứng dụng hoạt động tốt. Điều này xác nhận trường hợp ngoại lệ được ném là do không tương thích 32 bit và tôi chỉ cần sử dụng 32 bit (điều này hiển nhiên).
Đây là phần khó chịu - Trong tùy chọn Java 7, -d32
không hoạt động và Oracle không còn cung cấp Java 7 trong 32 bit nữa. Làm thế nào để chạy Java 7 của tôi trong 32 bit để tôi có thể sử dụng khung bên thứ ba? Mở JDK? Hoặc sử dụng Java 6 và sử dụng nó ở chế độ 32 bit. Nhưng Oracle không còn cung cấp Java 6 cho Mac.
Bất kỳ giải pháp thay thế nào khác ??