Building with pjsua_lib as DLL

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Hesham,

it looks like you do not link with WinSock, add ws2_32.lib and/or 
wsock.lib or something like that. It should be first link in google.

Cheers
- Vali

PS. Benny, in case you read this conversation, aren't you interested in 
applying suggested patch to be able to build PJSUA using pjsua_lib.dll 
easily?


Dne 10.1.2011 14:53, Hesham Abboud napsal(a):
> Hi Tomas,
>
> I'm developing a SIP phone on windows mobile for my company. After
> searching a lot, I found the only project which done the same thing
> using pjsip is Sipek project. Also the project made a dll file wrapping
> pjsip and used it. The problem is that, the working in the project has
> been stopped for over a year now and the dll file was made about 2 years
> ago, so I can't use it effectively or modify in it. For these reasons I
> decided to make my own dll file. Searching for how to do so showed me ur
> e-mail so I tried to do the steps u mentioned. I made the steps 1, 2 and
> 3 but unfortunately a list of errors appeared and building failed. I'll
> list the errors below, but do u have any suggestions on how to approach
> what I want?
>
> thanks in advance
>
> Error18error LNK2019: unresolved external symbol __imp__ntohs at 4
> referenced in function
> _pj_ntohspjlib-i386-win32-vc8-release-dynamic.libpjsua_lib
> Error19error LNK2001: unresolved external symbol
> __imp__ntohs at 4libsrtp-i386-win32-vc8-release-dynamic.libpjsua_lib
> Error20error LNK2019: unresolved external symbol __imp__htons at 4
> referenced in function
> _pj_htonspjlib-i386-win32-vc8-release-dynamic.libpjsua_lib
> Error21error LNK2001: unresolved external symbol
> __imp__htons at 4libsrtp-i386-win32-vc8-release-dynamic.libpjsua_lib
> Error22error LNK2019: unresolved external symbol __imp__ntohl at 4
> referenced in function
> _pj_ntohlpjlib-i386-win32-vc8-release-dynamic.libpjsua_lib
> Error23error LNK2001: unresolved external symbol
> __imp__ntohl at 4libsrtp-i386-win32-vc8-release-dynamic.libpjsua_lib
> Error24error LNK2001: unresolved external symbol
> __imp__ntohl at 4libsrtp-i386-win32-vc8-release-dynamic.libpjsua_lib
> Error25error LNK2001: unresolved external symbol
> __imp__ntohl at 4libsrtp-i386-win32-vc8-release-dynamic.libpjsua_lib
> Error26error LNK2019: unresolved external symbol __imp__htonl at 4
> referenced in function
> _pj_htonlpjlib-i386-win32-vc8-release-dynamic.libpjsua_lib
> Error27error LNK2001: unresolved external symbol
> __imp__htonl at 4libsrtp-i386-win32-vc8-release-dynamic.libpjsua_lib
> Error28error LNK2001: unresolved external symbol
> __imp__htonl at 4libsrtp-i386-win32-vc8-release-dynamic.libpjsua_lib
> Error29error LNK2019: unresolved external symbol __imp__inet_ntoa at 4
> referenced in function
> _pj_inet_ntoapjlib-i386-win32-vc8-release-dynamic.libpjsua_lib
> Error30error LNK2019: unresolved external symbol __imp__inet_addr at 4
> referenced in function
> _pj_inet_atonpjlib-i386-win32-vc8-release-dynamic.libpjsua_lib
> Error31error LNK2019: unresolved external symbol
> __imp__WSAStringToAddressA at 20 referenced in function
> _pj_inet_ptonpjlib-i386-win32-vc8-release-dynamic.libpjsua_lib
> Error32error LNK2019: unresolved external symbol
> __imp__WSAAddressToStringA at 20 referenced in function
> _pj_inet_ntoppjlib-i386-win32-vc8-release-dynamic.libpjsua_lib
> Error33error LNK2019: unresolved external symbol __imp__gethostname at 8
> referenced in function
> _pj_gethostnamepjlib-i386-win32-vc8-release-dynamic.libpjsua_lib
> Error34error LNK2019: unresolved external symbol
> __imp__WSAGetLastError at 0 referenced in function
> _pj_sock_socketpjlib-i386-win32-vc8-release-dynamic.libpjsua_lib
> Error35error LNK2001: unresolved external symbol
> __imp__WSAGetLastError at 0pjlib-i386-win32-vc8-release-dynamic.libpjsua_lib
> Error36error LNK2001: unresolved external symbol
> __imp__WSAGetLastError at 0pjlib-i386-win32-vc8-release-dynamic.libpjsua_lib
> Error37error LNK2019: unresolved external symbol __imp__WSASocketA at 24
> referenced in function
> _pj_sock_socketpjlib-i386-win32-vc8-release-dynamic.libpjsua_lib
> Error38error LNK2019: unresolved external symbol __imp__bind at 12
> referenced in function
> _pj_sock_bindpjlib-i386-win32-vc8-release-dynamic.libpjsua_lib
> Error39error LNK2019: unresolved external symbol __imp__closesocket at 4
> referenced in function
> _pj_sock_closepjlib-i386-win32-vc8-release-dynamic.libpjsua_lib
> Error40error LNK2019: unresolved external symbol __imp__getpeername at 12
> referenced in function
> _pj_sock_getpeernamepjlib-i386-win32-vc8-release-dynamic.libpjsua_lib
> Error41error LNK2019: unresolved external symbol __imp__getsockname at 12
> referenced in function
> _pj_sock_getsocknamepjlib-i386-win32-vc8-release-dynamic.libpjsua_lib
> Error42error LNK2019: unresolved external symbol __imp__send at 16
> referenced in function
> _pj_sock_sendpjlib-i386-win32-vc8-release-dynamic.libpjsua_lib
> Error43error LNK2019: unresolved external symbol __imp__sendto at 24
> referenced in function
> _pj_sock_sendtopjlib-i386-win32-vc8-release-dynamic.libpjsua_lib
> Error44error LNK2019: unresolved external symbol __imp__recv at 16
> referenced in function
> _pj_sock_recvpjlib-i386-win32-vc8-release-dynamic.libpjsua_lib
> Error45error LNK2019: unresolved external symbol __imp__recvfrom at 24
> referenced in function
> _pj_sock_recvfrompjlib-i386-win32-vc8-release-dynamic.libpjsua_lib
> Error46error LNK2019: unresolved external symbol __imp__getsockopt at 20
> referenced in function
> _pj_sock_getsockoptpjlib-i386-win32-vc8-release-dynamic.libpjsua_lib
> Error47error LNK2019: unresolved external symbol __imp__setsockopt at 20
> referenced in function
> _pj_sock_setsockoptpjlib-i386-win32-vc8-release-dynamic.libpjsua_lib
> Error48error LNK2019: unresolved external symbol __imp__connect at 12
> referenced in function
> _pj_sock_connectpjlib-i386-win32-vc8-release-dynamic.libpjsua_lib
> Error49error LNK2019: unresolved external symbol __imp__shutdown at 8
> referenced in function
> _pj_sock_shutdownpjlib-i386-win32-vc8-release-dynamic.libpjsua_lib
> Error50error LNK2019: unresolved external symbol __imp__listen at 8
> referenced in function
> _pj_sock_listenpjlib-i386-win32-vc8-release-dynamic.libpjsua_lib
> Error51error LNK2019: unresolved external symbol __imp__accept at 12
> referenced in function
> _pj_sock_acceptpjlib-i386-win32-vc8-release-dynamic.libpjsua_lib
> Error52error LNK2019: unresolved external symbol __imp__WSAStartup at 8
> referenced in function
> _pj_initpjlib-i386-win32-vc8-release-dynamic.libpjsua_lib
> Error53error LNK2019: unresolved external symbol __imp__WSACleanup at 0
> referenced in function
> _pj_shutdownpjlib-i386-win32-vc8-release-dynamic.libpjsua_lib
> Error54error LNK2019: unresolved external symbol
> __imp__WSASetLastError at 4 referenced in function
> _pj_set_netos_errorpjlib-i386-win32-vc8-release-dynamic.libpjsua_lib
> Error55error LNK2019: unresolved external symbol __imp__gethostbyname at 4
> referenced in function
> _pj_gethostbynamepjlib-i386-win32-vc8-release-dynamic.libpjsua_lib
> Error56error LNK2019: unresolved external symbol __imp__ioctlsocket at 12
> referenced in function
> _pj_ioqueue_register_sockpjlib-i386-win32-vc8-release-dynamic.libpjsua_lib
> Error57error LNK2019: unresolved external symbol ___WSAFDIsSet at 8
> referenced in function
> _PJ_FD_ISSETpjlib-i386-win32-vc8-release-dynamic.libpjsua_lib
> Error58error LNK2019: unresolved external symbol __imp__select at 20
> referenced in function
> _pj_sock_selectpjlib-i386-win32-vc8-release-dynamic.libpjsua_lib
> Error59fatal error LNK1120: 32 unresolved
> externals..\bin\pjsua_lib-i386-Win32-vc8-Release-Dynamic.exepjsua_lib
>
>
> On Tue, Dec 14, 2010 at 9:41 PM, Tom?? Valenta <vali at kamarad.cz
> <mailto:vali at kamarad.cz>> wrote:
>
>     Hi,
>
>     recently I tried to compile pjsua_lib 1.8.10 as a single DLL for
>     using in our application. We are migrating from 1.0.3. Everything
>     went fairly OK with some obstacles, though. Here I would like to
>     write down the steps I made and fixes if there were problems.
>
>     1. Opened in Visual Studio 2008, chosen Release-Dynamic
>     configuration on Win32 platform.
>     2. Put following in config_site.h:
>     #define PJ_DLL 1
>     #ifdef _LIB
>     #       define PJ_EXPORTING 1
>     #endif
>     3. Set dependencies of pjsua_lib to the same as libpjproject and set
>     its configuration type to DLL. Also added _pjmedia_tonegen_create2
>     to Force reference symbols in linker options, because this symbol
>     would not be available otherwise.
>     4. Built pjsua_lib project. This was enough for our application
>     needs, but to make PJSUA using this DLL following steps must be taken:
>
>     5. Set PJSUA's dependencies to pjsua_lib only. Now when tried to
>     build PJSUA, following Unresolved externals appeared:
>     _pjmedia_add_rtpmap_for_static_pt
>     _pjsip_include_allow_hdr_in_dlg
>     _pjsip_use_compact_form
>     _pj_optarg
>     _pj_getopt_long
>     _pj_optind
>     (And also some _pjmedia_tonegen_... if not set in step 3.)
>
>     6. Following lines must be patched:
>     pjmedia/src/pjmedia/enpoint.c:52 Use PJ_DEF_DATA
>     pjsip/src/pjsip/sip_dialog.c:44  Use PJ_DEF_DATA
>     pjsip/src/pjsip/sip_msg.c:147    Use PJ_DEF_DATA
>     pjsip-apps/src/pjsua/pjsua_app.c:962--964 Use PJ_DECL_DATA
>     pjsip-apps/src/pjsua/pjsua_app.c:1676     Use PJ_DECL_DATA
>     Also add PJ_DECL and PJ_DEF macros to pjlib-util/src/pjlib-util/getopt.*
>     And put to the PJSUA's Force reference symbols also _pj_getopt_long.
>
>     7. Now PJSUA compiles and works correctly.
>
>     I hope this post will be useful for someone and the suggested
>     patches will be applied to the trunk, because I think this is the
>     way it should be done, but correct me if I am wrong.
>
>     Cheers,
>     - Vali
>
>     PS. Have you any idea, why "Force reference symbols" must be set
>     sometimes?
>
>     _______________________________________________
>     Visit our blog: http://blog.pjsip.org
>
>     pjsip mailing list
>     pjsip at lists.pjsip.org <mailto:pjsip at lists.pjsip.org>
>     http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
>
>
>
>
> --
> Eng. Hesham Abboud
> +20123185749
>
>
>
> _______________________________________________
> Visit our blog: http://blog.pjsip.org
>
> pjsip mailing list
> pjsip at lists.pjsip.org
> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org




[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux