[pjsip] Building pjsua as DLL

Benny Prijono bennylp at pjsip.org
Tue Nov 13 10:44:40 EST 2007

Tomás Valenta wrote:
> Hi Benny,
> I am reporting some problems with building pjsua as DLL in Visual Studio 8.
> In VS8 solution I declare macros PJ_DLL and PJ_EXPORTING in projects whose
> functions I want to use (e.g. pjlib, pjmedia and pjsua-lib). In project
> pjsua-lib I set output as DLL. Macros PJ_EXPORT_DECL_SPECIFIER etc. are
> automaticaly defined in cc_msvc.h.

Thanks for reporting this. I never tried to build the libraries as 
DLL myself, so any feedbacks on this will be good.

> First problem:
> In the solution there are no depencies on other projects so the projects
> won't be built and linked. I had to set the depencies manually to the same
> ones as in pjsua app.

Yeah, that's expected. As a static library, pjsua-lib does not need 
to have dependencies to other libs, hence the dependencies were not set.

> Second problem:
> See following compiler error:
> c:\pjproject-0.8.0\pjlib\src\pj\except.c(41) : error C2375:
> 'pj_throw_exception_' : redefinition; different linkage
> c:\pjproject-0.8.0\pjlib\include\pj\except.h(302) : see declaration of
> 'pj_throw_exception_'

Was this the only error that you get? I expect to see more similar 
errors from other sources frankly.

> I don't know exactly what it means but commenting out the line
> //#define PJ_EXPORT_DEF_SPECIFIER     __declspec(dllexport)
> in cc_msvc.h solves the problem.

So does the DLL work? Do you see symbols exported from the DLL?

I kinda expect that this wouldn't work, as you just disabled the 
syntax to export the symbols. But I could be wrong!


> Have a nice day.
>     Vali

More information about the pjsip mailing list