From: Ricardo O. <n3...@ho...> - 2009-04-29 15:07:29
|
Hi, I'm having a problem with loading a library after using swig. Putting it quite simply: - If I convert the cpp code using "swig -c++ -java myfile.i", my main code is able to access the library perfectly and everything is executed properly: -- clip - main.java public class main { public static void main(String argv[]) { System.loadLibrary("nipper_wrapper"); nipper_wrapper.start_nipper(2,argv); } } -- clip - main.java Command line: java main - If I add the "-package" parameter (e.g.: "swig -c++ -java -package com myfile.i") and add "package com;" to the top of my main.java file, when executing (java com.main), I get the following result: Exception in thread "main" java.lang.UnsatisfiedLinkError: com.nipper_wrapperJNI.start_nipper(I[Ljava/lang/String;)I at com.nipper_wrapperJNI.start_nipper(Native Method) at com.nipper_wrapper.start_nipper(nipper_wrapper.java:18) at com.main.main(main.java:6) -- clip -- nipper_wrapperJNI /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). * Version: 1.3.21 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ class nipper_wrapperJNI { .... public final static native int start_nipper(int jarg1, String[] jarg2); } -- clip -- nipper_wrapperJNI So, in summary, the library is getting loaded, but for some reason, when the java code is in a package, and I try to access the library, I get this weird error, as if it was mapping the java package to the c++ library... Java version: java version "1.6.0_11" Java(TM) SE Runtime Environment (build 1.6.0_11-b03) Java HotSpot(TM) Client VM (build 11.0-b16, mixed mode, sharing) Swig version: SWIG Version 1.3.21 Copyright (c) 1995-1998 University of Utah and the Regents of the University of California Copyright (c) 1998-2003 University of Chicago Compiled with g++ [i686-redhat-linux-gnu] I appreciate any help. Thanks, Ricardo. _________________________________________________________________ More than messages–check out the rest of the Windows Live™. http://www.microsoft.com/windows/windowslive/ |