adt1

RTP_RTCP lib rel1.1.0 c++ linker error

Discussion created by adt1 on Mar 10, 2010
Latest reply on Mar 22, 2010 by CraigG

Hi there ,

 

i encountered problems when compiling with the c++ compiler against the adi_tool_chain.h from the rtp lib. The code from line 293-319:

 

#if defined _LANGUAGE_C

#ifdef __cplusplus

extern "C" {

#endif /* __cplusplus */

...

#else /* not _LANGUAGE_C */

#ifdef __cplusplus

}

#endif /* __cplusplus */

#endif /* not _LANGUAGE_C */

 

 

 

 

 

encountered. The _LANGUAGE_C macro is defined for both c and c++ compiler. For c++ compiler 'extern "C" {' is used, but the bracket is not closed, because this code is in the not _LANGUAGE_C section.

For this reason the code can be compiled only with the c compiler.

 

 

 

If i change the header files, i can compile it width my c++ code but i get linker error afterwards, although i have added the search path to the librarys:

 

[Error li1021]  The following symbols referenced in processor 'p0' could not be resolved:
        'adi_rtp_rtcp_Create_1_1(void **, ADI_MEM_MAP *) [_adi_rtp_rtcp_Create_1_1__FPPvP11ADI_MEM_MAP]' referenced from '.\Debug\RtpSrv.doj'
        'adi_rtp_rtcp_Init(void *, ADI_RTP_RTCP_CONFIG *) [_adi_rtp_rtcp_Init__FPvP19ADI_RTP_RTCP_CONFIG]' referenced from '.\Debug\RtpSrv.doj'

 

Has anyone a idea why the linker does not find the function in the library?

 

 

 

 

Outcomes