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

Discussion in 'C Programming' started by emer@hotbox.ru, Mar 12, 2006.

  1. Guest

    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.
     
    , Mar 12, 2006
    #1
    1. Advertising

  2. writes:
    > 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]

    --
    Keith Thompson (The_Other_Keith) <http://www.ghoti.net/~kst>
    San Diego Supercomputer Center <*> <http://users.sdsc.edu/~kst>
    We must do something. This is something. Therefore, we must do this.
     
    Keith Thompson, Mar 12, 2006
    #2
    1. Advertising

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

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.

Share This Page