![]() |
|
|
|||||||
| Allgemeine Java-Themen Allgemeine Themen, die nicht in andere Fachforen und nicht zu den Java Basics passen |
|
|
|
Themen-Optionen | Thema durchsuchen | Ansicht |
| #1 (permalink) | |
|
Neuer Benutzer
Bit
Registriert seit: 04.04.2007
Fachbeiträge: 5
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
|
Hallo!
Ich versuche unter Linux eine einfache Fortran Funktion in Java aufzurufen. Ich verwende dazu JNI und eine C-Funktion als Wrapper. Auf Windows läuft das Programm, aber auf Linux bekomme ich folgende Fehlermeldung: Code:
Exception in thread "main" java.lang.UnsatisfiedLinkError: /home/alban/lib/libessf.so: /home/alban/lib/libessf.so: undefined symbol: _gfortran_filename
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1751)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1676)
at java.lang.Runtime.loadLibrary0(Runtime.java:822)
at java.lang.System.loadLibrary(System.java:992)
at LoadLib.<clinit>(LoadLib.java:24)
Code:
SUBROUTINE essai() write(*,*) "coucou en Fortran" return END SUBROUTINE essai Code:
import java.io.*;
public class LoadLib {
/** Creates a new instance of WRubar20 */
//public LoadLib() { }
public static native void f1();
static {System.loadLibrary("essf"); }
public static void main (String args [ ])
{
System.out.println("aller, je commence en Java\n");
new LoadLib().f1();
System.out.println("ca y est, j'ai fini en Java\n");
}
}
Code:
#include<stdio.h>
#include<jni.h>
#include"LoadLib.h"
extern void essai_();
JNIEXPORT void JNICALL Java_LoadLib_f1 (JNIEnv * env, jclass cl)
{
printf("coucou en C\n");
essai_();
return;
}
Zum kompilieren und executieren habe ich folgende Befehle verwendet: Code:
javac LoadLib.java javah -jni LoadLib gcc -c sub.f JNI=/usr/lib/jvm/java-1.5.0-sun-1.5.0.06/include JNI_LINUX=/usr/lib/jvm/java-1.5.0-sun-1.5.0.06/include/linux gcc -c -I$JNI -I$JNI_LINUX LoadLib.c gcc -o libessf.so -shared -I$JNI -I$JNI_LINUX sub.o LoadLib.o -lg2c java LoadLib Sonja |
|
|
| #3 (permalink) | |
|
Java-Forum Team
Moderator
Registriert seit: 11.05.2004
Fachbeiträge: 6.733
Blog-Einträge: 3
Abgegebene Danke: 4
Erhielt 51 Danke für 40 Beiträge
|
Maybe hat deine so was!
Probiers mal so: http://ringlord.com/publications/jni-howto/ Der hat beim shared diese lg2c Paramete rnicht..
__________________
Wir machen Fehler aus Versehen, die anderen aus Dummheit. (Gabriel Laub) Pur Java Registry Reader - http://sourceforge.net/projects/java-registry/ |
|
|
|
| Themen-Optionen | Thema durchsuchen |
| Ansicht | |
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| fortran exe über java ausführen | jay | Allgemeine Java-Themen | 4 | 08.11.2007 10:23 |
| Geschwindigkeit Fortran und Java | Osix2000 | Allgemeine Java-Themen | 11 | 08.11.2007 09:44 |
| Fortran nach Java mit f2j | Allgemeine Java-Themen | 13 | 01.04.2005 12:34 | |
| java funktion in JSP file aufrufen. | grill | Allgemeine Java-Themen | 2 | 04.11.2004 13:05 |
| C# Funktion in Java aufrufen | lukburg | Allgemeine Java-Themen | 4 | 19.08.2004 09:50 |
| Lesezeichen |
|
|