UnsatisfiedLinkError with JNI

I have what I think is a strange problem, because last year this program worked, and this year it doesn't. Obviously something has changed, but I can't figure out what.
What I am doing here is using the JNI to call a Native Method to get some data from a A/D.
However, now when I try to call that method, I get the following error:
Caused by java.lang.UnsatisfiedLinkError; fileiotest.dllinterface.startget()UAlso, here is the code for the dllinterface file. It's simple and short, so I think I can paste the whole thing
package fileiotest;
* @author Owner
public class dllinterface {
    public native void startget(int channels);
    public native float[] getpoint(int channels);
    public native float[] gettimepoint(int channels);
    public native void stopget();
    private static dllinterface DI;
    private float newtempfloat[] = new float[9];
    static {
     System.loadLibrary("daqdll");//This is firstJNI.DLL
     DI = new dllinterface();
     /*if generated by borland
     System.loadLibrary("firstjni");//This is firstjni.dll
    public void start_daq(int channels)
     DI.startget(channels);
    public void stop_daq()
       DI.stopget();
    public float[] get_data_point(int channels)
      newtempfloat = DI.getpoint(channels);
      return newtempfloat;
    public float[] get_data_time_point(int channels)
      newtempfloat = DI.gettimepoint(channels);
      //System.out.println(newtempfloat[channels]);
      return newtempfloat;
}Edited by: Mike_Keller on Aug 2, 2010 8:02 AM

You are loading the dll successfully.
So that means the dll changed.

Similar Messages

  • UnsatisfiedLinkError for JNI DLL compiled with vs2008 express

    I am trying to create a JNI DLL using Visual Studio 2008 Express.
    I have read several places where -MD causes JNI problems but from what I've read, I need this option to create the DLL properly.
    The DLL does get built cleanly and I have created a simple C application (obviously not calling the JNI functions themselves but the other functions that are in the DLL). This application runs with no problems.
    As soon as I try to use the DLL with JNI, I get an UnsatisfiedLinkError: Can't find dependent libraries.
    I have used Dependency Walker on the C application I created and it finds no errors; however, if I run it on the DLL itself, it does report an error trying to find msvcr90.dll which is in the winsxs directory under c:\windows so I assume this is the problem dependency.
    I am running this on the same computer that has Visual Studio 2008 Express SP1 installed. This is a Windows XP Service Pack 3 computer running JDK 1.6.0_14.
    Any help would be greatly appreciated.
    Thanks

    Right or wrong, I include some library files into my link statement (it's the only way I could find to clear up your question). I link in some standard window libraries as well as some of my own DLL whose functions are used by this DLL. I use a makefile to build my code.
    Here is a compile statement and the link statement for my DLL:
    cl.exe -I c:\progra~1\micros~1.0\vc\include -I c:\progra~1\mi2578~1\windows\v7.0\include -I c:/progra~1/java/jdk1.6.0_14/include -I c:/progra~1/java/jdk1.6.0_14/include/Win32 -I S:/wlw/Develop/Src/Include -I S:/wlw/Products/Src/Include -I S:/wlw/Products/Src/Include -I S:/wlw/Products/Src/LibSrc/RTA/Client/Include/Example -I S:/wlw/Products/Src/LibSrc/RTA/Client/Include/System -I S:/wlw/Products/Src/LibSrc/RTA/Client/Include/User -I S:/wlw/Products/Src/LibSrc/RTA/Server/Include/System -I S:/wlw/Products/Src/LibSrc/RTA/Server/Include/User -DRTA_DLL -D_BIND_TO_CURRENT_VCLIBS_VERSION -Zp4 -DWIN32 -D__WIN32__ -DWINVER=0x0400 -D_WIN32_WINNT=0x0400 -D_USE_32BIT_TIME_T -D_CRT_SECURE_NO_WARNINGS -nologo -W3 -Od -EHsc -MD -Z7 -c buildDate.c
    link.exe -incremental:no -nologo -debug kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib -dll -out:S:/wlw/Products/Obj/Win32/Lib/rta.dll -implib:S:/wlw/Products/Obj/Win32/Lib/rta.lib eipc_client.obj eipc_usersys.obj eips_pccc.obj eips_cnxn.obj eips_cpf.obj eips_encap.obj eips_iomsg.obj eips_rtasys.obj eips_timer.obj rta_utils.obj eips_userdf1.obj eips_userobj.obj eips_usersock.obj eips_usersys.obj jniRta.obj jniRtaPlc.obj jniRtaPlcAddress.obj qcRta.obj qcRtaPlcAddressLink.obj qcRtaPlcLink.obj qcRtaProcess.obj qcRtaRead.obj qcRtaSlcRead.obj qcRtaSlcWrite.obj qcRtaState.obj qcRtaTimer.obj qcRtaWrite.obj Q:/Develop/Obj/Win32/Lib/tcpipNet.lib Q:/Develop/Obj/Win32/Lib/linkList.lib Q:/Develop/Obj/Win32/Lib/stdUtils.lib buildDate.obj
    mt -manifest S:/wlw/Products/Obj/Win32/Lib/rta.dll.manifest -outputresource:S:/wlw/Products/Obj/Win32/Lib/rta.dll;2

  • Help needed with JNI -  java.lang.UnsatisfiedLinkError

    I need some help with JNI. I am running on Sun Solaris 7 using their CC compiler. I wrote a simple java program that calls a native method to get a pid. Everything work until I use cout or cerr. Can anyone help? Below is what I am working with.
    Note: The application works. The problem is when the C++ code tries to display text output.
    My error log is as follows:
    java Pid
    Exception in thread "main" java.lang.UnsatisfiedLinkError: /home/dew/test/libPid.so: ld.so.1: /usr/j2se/bin/../bin/sparc/native_threads/java: fatal: relocation error: file /home/dew/test/libPid.so: symbol __1cDstdEcerr_: referenced symbol not found
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1382)
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1306)
    at java.lang.Runtime.loadLibrary0(Runtime.java:749)
    at java.lang.System.loadLibrary(System.java:820)
    at Pid.<clinit>(Pid.java:5)
    Pid.java
    ========
    * Pid: Obtains the pid from the jvm.
    class Pid {
    static { System.loadLibrary("Pid"); }
    public native int getPid();
    public static void main(String args[])
    System.out.println("Before construction of Pid");
    Pid z = new Pid();
    System.out.println(z.getPid());
    z = null;
    Pid.cpp
    =========
    * Native method that obtains and returns the processid.
    #include "Pid.h"
    #include "unistd.h"
    #include <iostream.h>
    JNIEXPORT jint JNICALL Java_Pid_getPid(JNIEnv *env, jobject obj) {
    /* cout << "Getting pid\n"; */
    cerr << "Getting pid\n";
    /* printf("Getting pid\n"); */
    return getpid();

    I forgot to include my build information.
    JAVA_HOME = /usr/j2se/
    LD_LIBRARY_PATH = ./:/opt/readline/lib:/opt/termcap/lib:/usr/bxpro/xcessory/lib:/${JAVA_HOME}/lib:/usr/RogueWave/workspaces/SOLARIS7/SUNPRO50/0d/lib:/usr/RogueWave/workspaces/SOLARIS7/SUNPRO50/3d/lib:/usr/sybase/lib
    javac Pid.java
    javah Pid
    CC -G -I${JAVA_HOME}/include -I${JAVA_HOME}/include/solaris Pid.cpp -o libPid.so
    Thanks again,
    Don

  • How to use VS2005 dlls with jni?

    Hello,
    I have a java application using jni and some dlls.
    Previously this dlls were created using VS2003. Now I want to use VS2005 and I
    encountered some problems.
    Everything is working on my station were I have installed VS2005 but when I try to run the
    application on other station (a test station) is not working.
    I get the following error:
    java.lang.UnsatisfiedLinkError: C:\App\Test.dll: This application has failed to start because
    the application configuration is incorrect. Reinstalling the application may fix this problem
         at java.lang.ClassLoader$NativeLibrary.load(Native Method)
         at java.lang.ClassLoader.loadLibrary0(Unknown Source)
         ......First I tried to search all the dependences and copied all missing dlls from my work station to the test
    station in the application directory. Still not working.
    when dlls were made with VS2003 I had only 3 dependences: mfc71d, msvcp71d, msvcr71d. With this dlls in
    the application directory everything was fine.
    Second I tried to install .Net framework(2.0) and vcredist (VS2005_sp1) but still nothing.
    What I'm doing wrong? Is somebody which is using dlls made in VS2005 with jni?
    Thank you
    ,Dragos

    IIRC, that message means the manifest file in the DLL points to assembly that your computer doesn't have, or it has no manifest file.
    You either need to:
    -recompile using static linking so that it has no dependencies
    -stick the correct manifest in
    -include the entire SxS (site by side) assembly folders with your application (only the ones you're dependent on). These are found in something similar to:
    C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\redist\x86

  • Calling an existing C code with JNI under linux.

    Hi all,
    I am trying to use an exsiting c code with jni but I am keep getting
    java.lang.UnsatisfiedLinkError, I am working under linux.
    This is what I have done so far:
    1.export LD_LIBRARY_PATH='pwd'/lib
    2. created HspellNative.java with the static System.loadLibrary("HspellNative") and native function called hspellInit
    3. compiled the java class
    4. javah -jni HspellNative
    5. HspellNative.c:
    #include <jni.h>
    #include <stdio.h>
    #include "HspellNative.h"
    #include "hspell.h"
    JNIEXPORT jint JNICALL
    Java_HspellNative_hspellInit ( JNIEnv* env, jobject obj )
         struct dict_radix **dict;
         return ( (jint) (hspell_init(dict,0) ) );
    6. could be the problematic one:
    gcc -o lib/libHspellNative.so -shared -I/opt/bea/jdk142_05/include -I/opt/bea/jdk142_05/include/linux hspell.c HspellNative.c
    7. java HspellNative
    8. getting the following error:
    Exception in thread "main" java.lang.UnsatisfiedLinkError: /opt/haim/Hspell/hspell-0.9/lib/libHspellNative.so: /opt/haim/Hspell/hspell-0.9/lib/libHspellNative.so: undefined symbol: hspell_debug
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1586)
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1511)
    at java.lang.Runtime.loadLibrary0(Runtime.java:788)
    at java.lang.System.loadLibrary(System.java:834)
    at HspellNative.<clinit>(HspellNative.java:18)
    My problem is that I don't know how to combine my HspellNative.c to the existing hspell.c, I know I should put them together in the shared library somehow, but how ?
    Please advice.
    Thanks in advance,
    Haim.

    I know there is something wrong with the .so, the question is: what ? and how do I fix it ?
    This is the ldd ldd libHspellNative.so output:
    /etc/libcwait.so => /etc/libcwait.so (0x0060b000)
    libc.so.6 => /lib/tls/libc.so.6 (0x00111000)
    /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x00359000)
    I have no idea what it means...
    I think I will try the SWIG.
    Thanks any way.

  • Awkward problems with JNI on J2SE 5.0

    I'm experiencing a strange problem with JNI and I hope someone can help me out.I've installed Cygwin, MinGW and then the CDT plug-in for Eclipse C/C++ development. This means I've used the MinGW make utility. It successfully creates the DLL file, but for some awkward reason, function www_tutorial_jni_HelloWorld_displayHelloWorld cannot be found (UnsatisfiedLinkError: displayHelloWorld).
    The Java class looks like this:
    package www.tutorial.jni;
    public class HelloWorld {
        public native void displayHelloWorld();
        static {
            System.loadLibrary("hello");
        public static final void main(String[] args) {
             try {
                  HelloWorld hw = new HelloWorld();
                  hw.displayHelloWorld();
             } catch (Exception e) {
                  System.out.println(e.toString());
    }The header that was generated by javah.exe (version 1.5.0_01) looks like this:
    /* DO NOT EDIT THIS FILE - it is machine generated */
    #include <jni.h>
    /* Header for class www_tutorial_jni_HelloWorld */
    #ifndef _Included_www_tutorial_jni_HelloWorld
    #define _Included_www_tutorial_jni_HelloWorld
    #ifdef __cplusplus
    extern "C" {
    #endif
    * Class:     www_tutorial_jni_HelloWorld
    * Method:    displayHelloWorld
    * Signature: ()V
    JNIEXPORT void JNICALL
    Java_www_tutorial_jni_HelloWorld_displayHelloWorld
      (JNIEnv *, jobject);
    #ifdef __cplusplus
    #endif
    #endifThe C++ implementation looks like this:
    #include <jni.h>
    #include "www_tutorial_jni_HelloWorld.h"
    #include <stdio.h>
    JNIEXPORT void JNICALL
    Java_www_tutorial_jni_HelloWorld_displayHelloWorld(JNIEnv
    *env, jobject obj)
        printf("Hello world!\n");
        return;
    }I've made sure that the fully qualified name of the implementation function is identical to the one in the header. I don't understand why I still get the error; especially since checking the DLL reveals that a function called "Java_www_tutorial_jni_HelloWorld_displayHelloWorld" exists.
    Could someone try and produce a successfull DLL/SO from the C++ code and then try and run the Java part on a 5.0 version of Java? I'm really curious as to what on Earth is going on...

    ... Otherwise, I would have
    to add whatever directory I put my DLL into to the
    PATH variable.Not necessarily. I believe the "PATH" also implicitly includes the "current directory". I also think that most JNI users put their DLL in a directory from which they also launch java (so it's in the current directory).
    >
    ... a java.library.path set.
    If I don't explicitly set a Java library path,
    Eclipse can't even find the DLL. I'm beginning to
    believe that Eclipse somehow screws up running Java
    programs with native code...I don't know about that... Probably just something extra you have to do with your Eclipse project so that it can find the DLL.
    But like I said, I don't really know - just trying to throw out ideas, small as they may be.

  • Problem with JNI and Parallel Port dll

    Hi. I'm doing some testes with JNI. Firs i followed the netbeans tutorial for doing a C programa that prints somthing for java.. like.. "Hello java from C".
    So i tried to load a dll from my dll. Like, I have this dll to use the parallel port on windows Xp. So i created a dll to access it an comunicates eoth java.
    I did everything just fine.
    When I start my Java app, the first thing it does is to load this parallel port dll and configure the functions of it.
    After that .. I get this error
    EXCEPTION_FLT_STACK_CHECK (0xc0000092) at pc=0x0093d269, pid=2284, tid=3000
    Can someone explain why ?
    (Sorry if i wasn't clear enough, english is not my native language, so ask if you don't understand something.. )

    hi ,
    I met the same problem this morning, and searched the www.google.com in order to solve it, as a result, your article was shown on my screen. :)
    Till now I have read some technical information and solved my problems. Maybe the solution be useful to you:
    ==============================
    error message : (Environment : Tomcat 5, Windows 2003, Mysql5)
    2006-3-29 11:53:48 org.apache.catalina.core.StandardWrapper unload
    message: Waiting for 2 instance(s) to be deallocated
    ==============================
    cause: the number of connection to database exceeded.another word,too many connections.
    ==============================
    solution: close the connection when it becomes useless for your program. :)
    ==============================
    ps. Sorry for my weak English . hehe ....

  • Problem with JNI

    i have to implement a few standard APIs. As a part of the implementation I have to provide references to an object I create. Now my underlying code is C++ with JNI used to throw the Java APIs. Problem is JNI now returns different references for the same object and hence my prupose id defeated. Could anyone suggest how this problem can be overcome.

    I tried to figure out what your problem is, but can't. Please rephrase it and give a bit more detail on what you are doing and what is going wrong.

  • Problem with jni references

    i have to implement a few standard APIs. As a part of the implementation I have to provide references to an object I create. Now my underlying code is C++ with JNI used to throw the Java APIs. Problem is JNI now returns different references for the same object and hence my prupose id defeated. Could anyone suggest how this problem can be overcome.

    I'm not exactly sure what you're talking about, but it sounds like you may need to look into global references. Look at NewGlobalRef() and DeleteGlobalRef() and see if those help you out.
    God bless,
    -Toby Reyelts
    For all your JNI woes, check out Jace - http://jace.reyelts.com/jace

  • Problem with JNI form C++

    Hi all,
    I'm fairly new to programming with JNI, so please excuse me if I ask a dumb question.
    I'm trying to call a Java method from a C++ class, but when I run the program, it throws an error, crashing the program. I'm pretty sure the problem is that the call to env->getMethodID() is throwing an error. I have looked around to try and find a way call a function with no arguments, but all of the examples that I have found all call a Java main.
    I'll post my code and the error message below so that things are a bit clearer.
    Thanks,
    Robert.
    Here is the main.cpp. This is where the program is started.
    #include "/usr/lib/jvm/java-6-sun-1.6.0.06/include/jni.h"
    int main()
       JNIEnv *env;
       JavaVM *jvm;
       jint res;
       jclass cls;
       jmethodID mid;
       // creation of the JVM
       JavaVMInitArgs vm_args;
       JavaVMOption options[1];
       options[0].optionString = "-Djava.class.path= .";
       vm_args.version = 0x00010002;
       vm_args.options = options;
       vm_args.nOptions = 1;
       vm_args.ignoreUnrecognized = JNI_TRUE;
       res = JNI_CreateJavaVM(&jvm, (void**)&env, &vm_args);
       // now the rest of the code can work
       cls = env->FindClass("Test");
       mid = env->GetMethodID(cls, "run", "()V");
       env->CallVoidMethod(cls, mid);
       jvm->DestroyJavaVM();
    }Here is Test.java
    public class Test
       public void run()
          System.out.println("stuff");
          foo();
       public void foo()
          System.out.println("asdfasdf");
    }And here is the error message.
    # An unexpected error has been detected by Java Runtime Environment:
    #  SIGSEGV (0xb) at pc=0x06245f7d, pid=9054, tid=1076641792
    # Java VM: Java HotSpot(TM) Client VM (10.0-b22 mixed mode, sharing linux-x86)
    # Problematic frame:
    # V  [libjvm.so+0x245f7d]
    # An error report file with more information is saved as:
    # /media/MY STICK/jni/cpp/hs_err_pid9054.log
    # If you would like to submit a bug report, please visit:
    #   http://java.sun.com/webapps/bugreport/crash.jsp
    AbortedEdited by: metaldrummer610 on Apr 23, 2008 8:35 PM

    Yeah, so I just figured out what was wrong. I wasn't calling main from in Java. My bad guys.

  • Opening a new JFrame in a specific DISPLAY on X11 environment with JNI

    Hi,
    I have a problem that I'm unable to solve.
    I have a Java Application (on Linux with X11 XServer display manager ) running in background that has to open, once received the request, JFrames on the client display. So if I launch the client from "display1", I have to open a JFrame on display1 and then if I launch again the client from "display2", I have to open a JFrame on display2.
    But I found no way do specify where (on which display) I want to open my frame.
    I saw there is a JFrame constructor using GraphicsConfiguration but it I can access only to Local GraphicsConfiguration, so I didn't understand the meaning of this parameter. ;-)
    I tryed even to change runtime the value of $DISPLAY environment variable just before the "new" call but it seems that awt connect to XServer only the first time I use a "graphic call" using correctly my $DISPLAY changed value.
    So all my frames appear on the display from which the first client connects.
    There is a way to tell awt to open a window on a specific DISPLAY without JNI ?
    Or, with JNI it's possible to override, in the X11DrawingSurfaceInfo structure, the field "display" (opening a new connection when necessary) for specific JFrame and the return the changed value to the AWT engine ?
    Thanks to all

    Hi,
    Have you had any further luck with this? I'd like to do something very similar to this (read from a config file the XServer address and use it at runtime to display on that particular server - I have multiple displays with different addresses).
    The best I can figure so far is to use ProcessBuilder and launch another java process with the $DISPLAY env variable set (differently for each process - or client display in your case).
    Whilst I may be able to get away with this for my project, it has many many disadvantages and I'd like to be able to change this programmatically/on-the-fly.
    Anyone's help would be greatly appreciated.
    I may just have to scrap using Java..

  • How can I get the time in Microsecond with JNI ?

    How can I get the time in Microsecond with JNI ?

    JNIEXPORT jdouble JNICALL Java_Win32Native_queryPerformanceFrequency (JNIEnv *env, jobject obj) {
         LARGE_INTEGER lFrequency;
         ::QueryPerformanceFrequency(&lFrequency);
         return (jdouble)lFrequency.QuadPart;
    JNIEXPORT jdouble JNICALL Java_Win32Native_queryPerformanceCounter (JNIEnv *env, jobject obj) {
         LARGE_INTEGER lpCounter;
         ::QueryPerformanceCounter(&lpCounter);
         return (jdouble)lpCounter.QuadPart;

  • Preserving session with JNI

    I'm working on an application for interacting with a database, the database has a Java API and a C API for some of the backend functions. I'd like to use some of the C API for the backend to improve the performance of the application. The problem is that I can't pass the connection information back and forth between the Java side and the C side. The connection sessions are maintained by objects in either API (a Java class for connections and a C class for connections). These classes aren't identical, but they're very similar.
    I'm not very experienced with JNI, but as far as I've read/tried, I can't pass these objects back and forth between Java and C. Since JVM addressing isn't necessarily absolute, I can't rely on getting an address to reference on the C side, and since (as far as I'm aware) I can only instantiate a Java side connection with Java side methods, I can't refer to a connection from the C-side either.
    Long story short, I'm stuck trying to find a way to make these 2 API's get along so that I can get the added performance of the C backend. For some reason the API's don't have any methods that use session ID's or anything else that would be useful for this sort of thing. Maybe there is something else I could try or maybe I'm just missing something (it wouldn't be the first time).
    Any thoughts/ideas/suggestions would be much appreciated.

    nsop07 wrote:
    I'm working on an application for interacting with a database, the database has a Java API and a C API for some of the backend functions. I'd like to use some of the C API for the backend to improve the performance of the application. And why do you think that will work?
    The problem is that I can't pass the connection information back and forth between the Java side and the C side. The connection sessions are maintained by objects in either API (a Java class for connections and a C class for connections). These classes aren't identical, but they're very similar.
    I'm not very experienced with JNI, but as far as I've read/tried, I can't pass these objects back and forth between Java and C. Since JVM addressing isn't necessarily absolute, I can't rely on getting an address to reference on the C side, and since (as far as I'm aware) I can only instantiate a Java side connection with Java side methods, I can't refer to a connection from the C-side either.
    In java you perserve a pointer, any pointer, via a java long value. Cast it back and forth when you go back and forth.
    Don't forget to provide a mechanism to clean it up.
    Java objects are similar and well defined in JNI - you pass a reference and access it via JNI methods.

  • PC/SC with JNI vs. javax.smartcardio

    Hi,
    for programming card terminals (USB tag readers) the PC/SC was used with JNI. Since the Java Smartcard I/O API (javax.smartcardio, JSR 268) was introduces in 1.6 it makes the JNI obsolete right?
    So there is no need for jpcsc and similar?
    Thanks
    STeN
    Edited by: stenlik on Jun 8, 2011 8:39 PM

    smartcardio uses JNI to access the PC/SC layer. It is built into the JDK so you do not have to distribute the JAR/DLL files any more as they are already delivered. jpcsc still has it's place but as you mentioned it is not required any more (unless your JDK does not have smartcardio).
    Cheers,
    Shane

  • Problem with JNI on netBeans

    Hi !
    After a search on the forum, I request your help about a little JNI app developped to work with a 3D sensor. The research team in which I work use to working with Eclipse IDE, and this JNI appliation work on it. However, impossible to find a way on NetBeans... I get an exception :
    Exception in thread "main" java.lang.UnsatisfiedLinkError:
    materiel.videoproj.JNIsiapp.SiInitialize()I
    at materiel.videoproj.JNIsiapp.SiInitialize(Native Method)
    at materiel.videoproj.JNIsiapp.main(JNIsiapp.java:138)
    It seems the IDE get the DLL (if I change the name in the loadLibrary method, the exception change) but encounter an error with the native method.
    The application (source code + dll + java code) could be find on ftp :
    ftp://ftp-us.3dconnexion.com
    login: jni
    password: dev1221
    Please help me too find a way !
    FloDeTours

    Library loading seems to continue to be a problem. There are two things to consider. First if you wrote the C/C++ code (like in the tutorials) then you compile it into a dll. This is the only dll you have to worry about. It will get loaded by your Java code using loadLibrary.
    This method is going to look for the dll on the path java.library.path. If you don't set this, it is equal to the system path. I like to keep everything inside my project so I put alll dlls in a directory off my project root called "native". So I set java.library.path to "native". In any case it should point to the location of the dll if it is not on the system path.
    Second if you have a 3rd party dll then you also have a JNI dll. The JNI dll is the one that loadLibrary loads, so the above applies to it. The third party dll is loaded on the C/C++ side, which know nothing about java.library.path. I only knows system path. This means that the location of this dll must be in that path. You can add the location to the system path permanently or use the IDE project setting to add it only inside the project scope.
    When you deploy the app you will need to supply the various path settings in the launching code.
    Jim

Maybe you are looking for

  • Weird RAM/Scratch Disk issue

    Having a weird memory problem with Photoshop CS4 on my G5 Quad. Let me see if I can explain this properly.... When I open up a file in Photoshop, I notice that the available space on my hard drive reduces (info at the bottom of any Finder window). Es

  • Importing via iMovie?

    I want to take parts from DVD's made by recording from television, edit them and write them to a new DVD. The DVD's I want to take parts from for editing in iDVD are in 'TS' format, i.e. opening the DVD in Finder shows one folder called 'VIDEO_TS' an

  • How to create parallel Diagonal lines easily in Photoshop?

    Hi All, I want to create some parallel but diagnol lines easily in photoshop or illustrator. A easy to follow tutorial will be fanastic. Please help me. Thanks in advance.

  • Regarding ESB Deployment without using JDeveloper

    Hi, I would like to deploy my ESB application without using JDeveloper. BPEL Designer automatically creating the build script to deploy the BPEL application. Is there any ant script available to deploy the ESB application in to Oracle integration ser

  • Issues with PSD layer menu and interlace "clipping" on text

    I am using Photoshop to create text-based layered menus. I'm having issues with the top and/or bottom of the text being "clipped" or cut off. If i bump the text up or down one pixle, it sometimes gets better, but it throws off the balance/spacing of