Go Back   Rhinocerus > Newsgroup > Newsgroup comp.lang.java.* > Newsgroup comp.lang.java.gui

Reply
 
Thread Tools Display Modes
  #1 (permalink)  
Old 06-14-2012, 07:48 PM
clusardi2k@aol.com
Guest
 
Posts: n/a
Default Using JNI to Invoke C++ Method in Java via NetBeans 7.1.2 (How do Iimport classes?)

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++ class'. 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. Belowthat is a description of each method in the file. This is what appears on the left of the IDE:

Libraries
MY_TEST - name_of_jar_file1.jar
META-INF
MANIFEST.MF
one.very.long.dotted.thing

MY_TEST - name_of_jar_file2.jar
META-INF
MANIFEST.MF
one.very.long.dotted.widget
Beans Binding - beansbinding-1.2.1.jar
JDK 1.7 (Default)

At this point, is it possible to just import one of the class' in the jar file, instantiate it, and then call the method desired. How would I go aboutdoing this?

(Part 2)
0) FYI: There is only one class in this simple dot java program.
1) Without instantiating a class listed in one of the dot jar files, I put a call to a method (my_one_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 formy_one_test:

"private native void my_one_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\\lib\name_of_jar_file1.jar ");
System.load ("C:\\User_name_0\\dist\\lib\name_of_jar_file2.jar ");
}

This compiles, but I get the following runtime error:

java.lang.UnsatisfiedLinkError: C:...\dist\lib\name_of_jar_file1.jar: Can'tload 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
Reply With Quote
Alt Today
Advertising
 
and become member of Rhinocerus
Standard Sponsored Links

Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off




All times are GMT. The time now is 10:13 AM.


Copyright ©2009

LinkBacks Enabled by vBSEO 3.3.0 RC2 © 2009, Crawlability, Inc.