2009-10-26 16 views
16

Czy udało się każdemu pomyślnie skonfigurować połączony projekt Java/C++ dla Eclipse?Tworzenie aplikacji JNI za pomocą Eclipse (w połączeniu Java/C++)

To, co próbuję zrobić, jest dość proste;

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 

Wskazówki, a nawet prawdziwe projekty, które działają, są mile widziane.

(Eclipse 3.5)

+0

To nie jest tak naprawdę związane z twoim pytaniem, ale jestem ciekaw: czy potrzebujesz JNI/C++? Jeśli tak, po co? Czy jest to coś, co może zrobić Java NIO? – cletus

+0

JNI jest pomostem między Javą i niektórymi starymi sprzętami kryptograficznymi, a interfejs API tego urządzenia jest dostępny tylko jako biblioteka c. W tej chwili mam dwa projekty zaćmienia, jeden dla klas java i drugi dla rodzimych części w C. Niepotrzebne, myślę, że Eclipse powinien być w stanie zrobić to w jednym. :/ – ointment

Odpowiedz

4

To naprawdę brzmi jak zadanie dla systemu kompilacji, jak ant. Po prostu skonfiguruj swój projekt Java, aby korzystać z ant builder. Nadal będziesz czerpał korzyści z obsługi konkretnych języków dla projektów C++ i Java, a także z budowy jednego kliknięcia projektu.

+0

Dzięki. Spójrz na to. – ointment

1

Używam ant cpptasks do realizacji projektu JNI z Eclipse tylko w systemach Linux i Windows. Było trochę pracy, aby uruchomić go z MSVC (Windows) i kompilatorem GNU C++ (wszystkie flagi kompilatora i linkera poprawnie, ponieważ zostały wcześniej wykonane z Visual Studio Magic), ale było naprawdę warto.

Do generowania nagłówka C++ z javah i wszystkimi innymi zadaniami, o których wspomniałeś, Ant będzie prawdopodobnie również wybranym narzędziem.

7

http://www.cs.umanitoba.ca/~eclipse/8-JNI.pdf Myślę, że właśnie tego chciałaś. Może trochę stara.

+0

Nie widzę żadnych odniesień do Eclipse w tym dokumencie. Aby uzyskać ogólny przegląd JNI, nic nie przebije [The Java Native Interface - Programmer Guide and Specification] (http://docs.oracle.com/javase/1.5.0/docs/guide/jni/spec/jniTOC.html) od Oracle . Jeśli chodzi o oryginalny problem z maścią (której aktualnie doświadczam), myślę, że po prostu będę musiał użyć staroświeckiego interfejsu wiersza poleceń (prawdopodobnie za pomocą zadania Ant), aby zbudować moje projekty JNI C++/Java. – StockB

Powiązane problemy