[pjsip] Building pjsua as DLL
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
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.
More information about the pjsip