Me da el fallo: undefined reference to `help'.
Los comandos que utilizo para crear la dll son los siguientes:
Código HTML:
> gcc -c miPrograma.c -o miPrograma.o -I"C:/Soft/Sun/SDK/jdk/include" -I"C:/Soft/Sun/SDK/jdk/include/win32"
> gcc -lm -Wall -D_JNI_IMPLEMENTATION_ -Wl,--kill-at -I"C:\Soft\Sun\SDK\jdk\include" -I"C:\Soft\Sun\SDK\jdk\include\win32" -L"C:\lib" -shared assrules.c -o assrules.dll
Código HTML:
C:\DOCUME~1\User\CONFIG~1\Temp/cceDovOl.o:miPrograma.c:(.text+0x13): undefined ref
erence to `help'
collect2: ld returned 1 exit status
El problema me pasa cuando intento llamar a la función help() que hay en un fichero .c que tengo.
Os indico el código que tengo y los comandos que uso para crear la dll:
Código Java:
Código:
Código miPrograma.c:class miPrograma
{
private native void print();
public static void main(String[] args)
{
new miPrograma().print();
}
static {
System.loadLibrary("miPrograma");
}
}
Código:
#include <jni.h>
#include <stdio.h>
#include "miPrograma.h"
#include "miLibreria.h"
JNIEXPORT void JNICALL
Java_miPrograma_print(JNIEnv *env, jobject obj)
{
printf("Hello World!\n");
help(); /* Esta función está definida en el ficehro miLibreria.c */
return;
}
Código miLibreria.c:
Código:
#include <stdio.h>
static void help (void)
{
printf("Helppp \n");
}
Código miLibreria.h:
Código:
extern void help (void);
Os agradeceria que me pudierais ayudar.
Leo


