2009-10-26 18 views
16

Có ai quản lý thành công để thiết lập dự án Java/C++ kết hợp cho Eclipse không?Phát triển các ứng dụng JNI với Eclipse (Kết hợp Java/C++)

Điều tôi đang cố gắng làm là khá đơn giản;

1) Compile my Java sources 
2) Run Javah to create the JNI interface 
3) Compile all the C/C++ sources 
4) Link native shared library + package the JAR 

Gợi ý hoặc thậm chí các dự án thực sự được chào đón nhiều.

(Eclipse 3,5)

+0

Điều này không thực sự liên quan đến câu hỏi của bạn nhưng tôi tò mò: bạn có cần sử dụng JNI/C++ không? Nếu có, thì sao? Có điều gì đó mà Java NIO có thể làm không? – cletus

+0

JNI là cầu nối giữa Java và một số phần cứng mã hóa cũ và API cho thiết bị chỉ có sẵn dưới dạng thư viện c. Ngay bây giờ tôi có hai dự án nhật thực, một cho các lớp java và thứ hai cho các phần gốc trong C. Không cần thiết, tôi nghĩ Eclipse sẽ có thể làm điều đó trong một. :/ – ointment

Trả lời

4

Điều này thực sự có vẻ như một công việc cho một hệ thống xây dựng, như ant. Chỉ cần cấu hình dự án Java của bạn để sử dụng ant builder. Bạn vẫn sẽ nhận được những lợi ích của hỗ trợ ngôn ngữ cụ thể cho các dự án C++ và Java của bạn, và, một cú nhấp chuột xây dựng dự án.

+0

Cảm ơn. Tôi sẽ xem xét điều này. – ointment

1

Tôi đang sử dụng ant cpptasks để thực hiện dự án JNI chỉ với Eclipse trên Linux và Windows. Nó đã được một số công việc để có được nó chạy với MSVC (Windows) và trình biên dịch GNU C++ (nhận được tất cả các trình biên dịch và cờ linker đúng kể từ khi đã được thực hiện với Visual Studio Magic trước) nhưng nó thực sự có giá trị nó.

Để tạo Tiêu đề C++ với javah và tất cả các Tác vụ khác bạn đã đề cập Ant có thể cũng sẽ là công cụ lựa chọn.

7

http://www.cs.umanitoba.ca/~eclipse/8-JNI.pdf Tôi nghĩ rằng đây là những gì bạn muốn.May một chút tuổi.

+0

Tôi không thấy bất kỳ tài liệu tham khảo Eclipse nào trong tài liệu đó. Đối với một tổng quan JNI chung, không có gì đánh bại [Giao diện bản địa Java - Hướng dẫn và đặc tả của lập trình viên] (http://docs.oracle.com/javase/1.5.0/docs/guide/jni/spec/jniTOC.html) từ Oracle . Đối với vấn đề ban đầu của @ ointment (mà tôi hiện đang gặp phải), tôi nghĩ tôi sẽ phải sử dụng giao diện dòng lệnh cũ (có thể thông qua tác vụ Ant) để xây dựng các dự án C++/Java JNI của tôi. – StockB

Các vấn đề liên quan