This is the mail archive of the
cygwin@cygwin.com
mailing list for the Cygwin project.
Re: Linking with JNI Invoke Using Cygwin gcc
- From: Alan Thompson <athompson at alphatech dot com>
- To: "Thomas X. Hoban" <thoban at verbalogic dot com>, <cygwin at cygwin dot com>
- Date: Thu, 05 Jun 2003 14:36:10 -0700
- Subject: Re: Linking with JNI Invoke Using Cygwin gcc
Hi Tom - There is a quirk when using the JNI Invocation API on Cygwin (non-invocation JNI works as expected). The solution is documented nicely at the excellent JNI-on-Cygwin webpage: http://www.inonit.com/cygwin/. You can also download some sample JNI code, including both invocation- and non-invocation-code at http://www.whitecaps.net/jni/expr.jar.
Alan Thompson
At 04:21 PM 6/5/2003 -0500, Thomas X. Hoban wrote:
>I have written a DLL and a test program that uses the JNI api to invoke a
>JVM. When I try to link with a test program, I get an error indicating that
>a reference to __imp__JNI_CreateJavaVM@12 is undefined.
>
>$ export JAVA_HOME=/cygdrive/c/j2sdk1.4.1_02
>$ g++ -c I$JAVA_HOME/include I$JAVA_HOME/include/win32 JavaGateway.c++
>$ g++ -I$JAVA_HOME/include I$JAVA_HOME/include/win32 L$JAVA_HOME/lib \
>-ljvm JavaGateway.o -o testGateway testGateway.c++
>
>The link command above produces these errors:
>
>JavaGateway.o(.text+0x171):JavaGateway.c++: undefined reference to
>`__imp__JNI_CreateJavaVM@12'
>JavaGateway.o(.text+0x251):JavaGateway.c++: undefined reference to
>`__imp__JNI_CreateJavaVM@12'
>collect2: ld returned 1 exit status
>
>I assume that the jvm.lib file provided with the sdk was compiled with MS
>VC++. Does the cygwin gcc compiler massage the symbol references
>differently from MS? Does anyone have a suggestion on how I can make this
>work?
>
>Thanks,
>
>Tom
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/