osip库sip错误

时间:2016-12-20 07:47:13

标签: c++ c sip

在如何初始化libosip2站点上的theres程序初始化osip库 https://www.gnu.org/software/osip/doc/html/group__howto0__initialize.html

#include <winsock2.h>
#include <Time.h>
#include <stdio.h>
#include <stdlib.h>
#include <osip2/osip.h>
#include <osipparser2/osip_parser.h>
#include <string.h>

int main()
{

    int i;
    osip_t *osip;
    i=osip_init(&osip);
    if (i!=0)

      return -1;
}

我正在尝试运行此代码,但它不起作用, 库版本5.0.0

错误:

||=== Build: Debug in cos2 (compiler: GNU GCC Compiler) ===|
obj\Debug\main.o||In function `main':|
C:\Users\emergency\Documents\analizer\cos2\main.cpp|14|undefined reference to `osip_init'|
||error: ld returned 1 exit status|
||=== Build failed: 2 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|

2 个答案:

答案 0 :(得分:0)

这是因为你没有链接二进制文件osip.o

答案 1 :(得分:0)

要与库链接,您需要在命令行中指定它。

请注意libosip2生成两个库,您必须同时链接它们才能同时使用解析器(libosipparser2)和sip引擎(libosip2)。

确切的命令行取决于您使用的平台,编译器,如果您链​​接到静态库或动态库,也可能会有所不同。

使用GCC和动态链接,它应该是这样的:

-L/install-directory-for-libosip2-libs/ -losipparser2 -losip2

-L / install-directory-for-libosip2-libs / 参数指的是库可用的目录。