Problem with linking - can't find the right solution.

E

emer

Hi to everybody. I al tired of correcting the following error, probably
you can help me.
I am write a 16-bit application for Windows 3.1 using Borland C++ 5.02.
I am developing an application for ISA DLL driver for some equipment
and I have this DLL. I obtained the LIB static library from it using
IMPLIB, but as soon as I try to use functions from it I get the
message: 'Unresolved external ...'. I have tried all means: I put the
LIB into the LIB path and directory of compiler, used make file and so
on, but the compiler does not see the library derived from DLL. I cant
make it work!
I write the following code (simplified):

#include <windows.h>
#include "inc\8112.h"

void main (void)
{
W_8112_Initial(1,0x220);
return;
}

My header file (8112.h) is the following (truncated):
#ifdef __cplusplus
extern "C" {
#endif
....
int FAR PASCAL W_8112_Initial( int card_number , int base_address );
....
#ifdef __cplusplus

}
#endif
#ifdef __cplusplus

Do you have any ideas? How to force the compiler use the library? Or
may be modify the library? I have NO ideas, because I have tried
everything.
 
K

Keith Thompson

Hi to everybody. I al tired of correcting the following error, probably
you can help me.
I am write a 16-bit application for Windows 3.1 using Borland C++ 5.02.
I am developing an application for ISA DLL driver for some equipment
and I have this DLL. I obtained the LIB static library from it using
IMPLIB, but as soon as I try to use functions from it I get the
message: 'Unresolved external ...'. I have tried all means: I put the
LIB into the LIB path and directory of compiler, used make file and so
on, but the compiler does not see the library derived from DLL. I cant
make it work!

This is off-topic. Everthing you're talking about is system-specific.
You should ask in a newsgroup that deals with your compiler and/or
operating system.
I write the following code (simplified):

#include <windows.h>
#include "inc\8112.h"

'\' characters in string literals can be problematic -- but the
argument to a #include directive isn't, strictly speaking, a string
literal, even though it looks like one. You might want "inc\\8112.h",
or perhaps even "inc/8112.h". (Or the single '\' might be ok on your
system.

void main (void)

int main(void)
{
W_8112_Initial(1,0x220);
return;

return 0;
[snip]
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,537
Members
45,022
Latest member
MaybelleMa

Latest Threads

Top