J
Jacques
Hello there
I'm pretty new to C, so this is probably an elementary question....
I'm trying to write a simple c program that calls a function in a
third party library. I would then like to link this to a dll. The
files that were supplied to me by are :
a .lib file
a .h file
a .dll
So... I've written a simple C program like so :
#include "SecondTry.h"
#include <stdio.h>
#include "jni.h"
#include "qabwved.h"
JNIEXPORT void JNICALL Java_SecondTry_helloWorld(JNIEnv *env, jobject
obj)
{
printf("Hello world !\n");
//calling external lib function...
QABatchWV_Startup(1);
return;
}
I'm using the lcc-win32 compiler / linker on Windows 2000.
It compiles fine with the following command line :
lcc -Id:\j2sdk1.4.2_03\include -Id:\j2sdk1.4.2_03\include\win32
-Id:\dev\c\second_try\java -Id:\dev\Qas_app\C SecondTryImpl.c
The problem starts when trying to link it with :
lcclnk -dll qabwved.lib secondtryimpl.obj -o secondtry.dll
I'm getting the following error :
secondtryimpl.obj .text: undefined reference to
'__imp__QABatchWV_Startup'
The function QABatchWV_Startup is defined in the .h file that I've
received. I assumed that the implementation would be in the .lib that
I've received.
Any ideas ? I've tried a few things already, and am really stuck at
the moment.
Jacques
I'm pretty new to C, so this is probably an elementary question....
I'm trying to write a simple c program that calls a function in a
third party library. I would then like to link this to a dll. The
files that were supplied to me by are :
a .lib file
a .h file
a .dll
So... I've written a simple C program like so :
#include "SecondTry.h"
#include <stdio.h>
#include "jni.h"
#include "qabwved.h"
JNIEXPORT void JNICALL Java_SecondTry_helloWorld(JNIEnv *env, jobject
obj)
{
printf("Hello world !\n");
//calling external lib function...
QABatchWV_Startup(1);
return;
}
I'm using the lcc-win32 compiler / linker on Windows 2000.
It compiles fine with the following command line :
lcc -Id:\j2sdk1.4.2_03\include -Id:\j2sdk1.4.2_03\include\win32
-Id:\dev\c\second_try\java -Id:\dev\Qas_app\C SecondTryImpl.c
The problem starts when trying to link it with :
lcclnk -dll qabwved.lib secondtryimpl.obj -o secondtry.dll
I'm getting the following error :
secondtryimpl.obj .text: undefined reference to
'__imp__QABatchWV_Startup'
The function QABatchWV_Startup is defined in the .h file that I've
received. I assumed that the implementation would be in the .lib that
I've received.
Any ideas ? I've tried a few things already, and am really stuck at
the moment.
Jacques