Meadows, Tyron wrote:

> When linking a Visual C++ 6.0 application with NSS and NSPR static libraries
> obtained from the mozilla.org web site, are there any guidelines or
> recommendations for properly configuring the development environment to
> avoid "unresolved external symbol" link errors (i.e., "... error LNK2001:
> unresolved external symbol ..."). 
> I suspect that this error is caused by: 
>       1. calling C functions from a C++ application, 
>       2. multiple prototype definitions in the include files. 
>               int foo; 
>               extern int foo;


We do not support our static libraries.  The binary distributions
we publish on ftp.mozilla.org do not have static libraries.

Our build process still generates static libraries for historical
reasons.

To answer your question, our header files declare the public
functions with the declspec(dllimport) compiler directive on
Windows, so if you compile against our headers, your objects
will assume the symbols, in the form of __imp_XXX, to be
resolved by the import libraries of our DLLs.  Therefore, if
you link your objects with our static libraries, you will get
unresolved external symbol link errors.

Wan-Teh

Reply via email to