Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com X-Spam-Filter: check_local AT alphatech DOT com 4.4(020923:1754) http://digitalanswers.org/ Message-Id: <4.3.2.7.2.20030217230023.00b7eff8@mail.alphatech.com> X-Sender: alant AT mail DOT alphatech DOT com Date: Mon, 17 Feb 2003 23:00:49 -0800 To: , From: Alan Thompson Subject: Re: Cygwin GCC & JNI?? In-Reply-To: <200302171424.AA2621680@iconnextion.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" >Jim - Try the following solution. it worked for me. Write back if it doesn't work and I'll generate a more explicit example from my ant build script. Alan Thompson >From: "Mike Bresnahan" >To: >Subject: RE: Using cygwin and JAVA/JNI >Date: Wed, 5 Feb 2003 22:52:17 -0800 >Importance: Normal > >I have been using Cygwin GCC 3.2 to build JNI DLLs that use >without difficulty. I have done the following things: > >- put -mno-cygwin -D_REENTRANT -D_GNU_SOURCE -D__int64="long long" on the >compiler command line >- put -mno-cygwin -Wl,--add-stdcall-alias on the linker command line > >See the Cygwin FAQ at http://cygwin.com/faq/faq.html for info >on -mno-cygwin. > >Mike Bresnahan >> -----Original Message----- >> From: cygwin-owner AT cygwin DOT com [mailto:cygwin-owner AT cygwin DOT com]On Behalf >> Of Alan Thompson >> Sent: Wednesday, February 05, 2003 8:18 PM >> To: cygwin AT cygwin DOT com >> Subject: Using cygwin and JAVA/JNI >> >> >> >> > >> >Hi all - I have been doing some JNI stuff to integrate our >> legacy software, and I have had very good luck following the >> examples at http://www.inonit.com/cygwin/jni/helloWorld/ . The >> only twist is that I've been using g++ instead of gcc, which >> simplifies the non-java part. >> > >> >Here's a question, though: I cannot for the life of me figure >> out how to use the C++ in any of the code! For some >> reason, the "-mno-cygwin" flag kills the ability of g++ to either >> compile or link any code referring to . This means one >> is stuck using good old printf(), instead of the more modern way. >> No matter how I break up the complies, it still fails at the >> linking stage (when -mno-cygwin is still required, according to >> my experiments). >> > >> >Does anyone have any ideas? Also, I've been unable to find any >> documentation on the -mno-cygwin flag in the gcc/g++ man pages. >> Can anyone point me to where this comes from and/or is documented? >> > >> >Thanks again for all of the help, >> >Alan Thompson >> > >> >P.S. I've been using Cygwin for quite a while now ant it's >> fantastic when you're chained to a windoze machine.... At 02:24 PM 2/17/2003 -0500, Jim Marshall wrote: >Sorry if this is a dup, I hit send on the previous message too soon... > >Hello, > First, I'm fairly new to gcc so if this isn't the right list >plese direct me to the correct one. > > I have some code which compiles a shared object, it compiles fine >on Red Hat 8 and even on Solaris for Intel. I'm now attempting to >compile this same code of Windows XP using Cygwin. This shared >object calls functions in the java VM (jvm.dll on windows). When I >compile on Windows I get an error stating that it can't find the >function JNI_GetCreatedVms function. I'm sure that has to do with >the way the jvm.dll is compiled n windows and the calling >convention, but I can;t figure it out. I've looked for the past >two days and havn't found that much. can anyone lend me a helping >hand? I have search teh web and found several sources of info >(inonit.com etc..) but none have solved my problem. > >I'm using g++ 3.2 20020927 (prerelease) which came with >cygwin (I downloaded cygwin last week). Here is the command I am >passing to g++ ad the output: > >g++ -Wl,--add-stdcall-alias -mno-cygwin -I. -I../common >-Ic:/cygwin/usr/java/include -Ic:/cygwin/usr/java/include/win32 >-shared -o Tool.dll Tool.cpp -Lc:/cygwin/usr/java/lib -ljvm > >/cygdrive/c/temp/ccDembDG.o(.text+0x1dac):Tool.cpp: undefined >reference to `_ >imp__JNI_GetCreatedJavaVMs AT 12' >/cygdrive/c/temp/ccDembDG.o(.text+0x1e23):Tool.cpp: undefined >reference to `_ >imp__JNI_GetCreatedJavaVMs AT 12' >make: *** [NPITool.dll] Error 1 > >I needthe DLL to compile with no dependency on cygwin, hence the >-mno-cygwin. The -Wl,--add-stdcall-alias is something I just added >after reading information at >http://www.inonit.com/cygwin/jni/invocationApi/execute.html before >it was just -Wall. > >Thank you >-Jim -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/