Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #15289

Using JNI to Call C++ Methods from Java Using NetBeans IDE 7.1.2

Path csiph.com!newsfeed.hal-mli.net!feeder3.hal-mli.net!newsfeed.hal-mli.net!feeder1.hal-mli.net!npeer01.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
From clusardi2k@aol.com
Newsgroups comp.lang.java.programmer
Subject Using JNI to Call C++ Methods from Java Using NetBeans IDE 7.1.2
Date Thu, 14 Jun 2012 12:17:14 -0700 (PDT)
Organization http://groups.google.com
Lines 47
Message-ID <51edf502-47d1-4fdb-96ae-75784eef1834@googlegroups.com> (permalink)
NNTP-Posting-Host 198.151.13.60
Mime-Version 1.0
Content-Type text/plain; charset=ISO-8859-1
Content-Transfer-Encoding quoted-printable
X-Trace posting.google.com 1339701557 24366 127.0.0.1 (14 Jun 2012 19:19:17 GMT)
X-Complaints-To groups-abuse@google.com
NNTP-Posting-Date Thu, 14 Jun 2012 19:19:17 +0000 (UTC)
Complaints-To groups-abuse@google.com
Injection-Info glegroupsg2000goo.googlegroups.com; posting-host=198.151.13.60; posting-account=r24XpwkAAABfAJg5TJRsTScS4AL5MjOT
User-Agent G2/1.0
X-Received-Bytes 2799
Xref csiph.com comp.lang.java.programmer:15289

Show key headers only | View raw


Hello,

I want to call a series of C++ routines from java using the Java Native Interface. The IDE that I'm using is NetBeans 7.1.2.

Below is a two part description. The first part is background. It explains how I was told to setup two jar files that refer to my C++ routines. The second part is the wrong part. The second part is my feeble attempt at changing my code so that it invokes a routine in the C/C++ library.

(Part 1)
I setup NetBeans to use 2 dot jar files to refer to my C++ routines. I was told to follow these steps. The steps that I followed to do this are. 

Start NetBeans, highlight the name of the current project, right click on it, select Add Library, select Create..., name the library MY_TEST, click ok, press the "Add JAR/Folder..." button, and select the two jar files that were given to me.

The 2 jar files now appear on the left side of the IDE under MY_TEST. Below that is a description of each method in the file.

(Part 2)
0) FYI: There is only one class in this simple dot java program. 
1) I put a call to a method (my_test) listed in one of the jar files (my_test does not exist anywhere else),
2) in the same dot java file, I created the following routine prototype for my_test:

 "private native void my_test()", and 

3) at the start of the class (in the dot java program), I added the lines:

    static {
      System.load ("C:\\User_name_0\\dist\\name_of_jar_file1.jar");
      System.load ("C:\\User_name_0\\dist\\name_of_jar_file2.jar");
    } 

This compiles, but I get the following runtime error:

java.lang.UnsatisfiedLinkError: C:...\dist\lib\JavaApiClient.jar: Can't load this .dll (machine code=0x23) on a IA 32-bit platform

What do I do. Would creating a dot h file help.

Thanks,
First Time JNI user

Back to comp.lang.java.programmer | Previous | Next | Find similar | Unroll thread


Thread

Using JNI to Call C++ Methods from Java Using NetBeans IDE 7.1.2 clusardi2k@aol.com - 2012-06-14 12:17 -0700

csiph-web