osip 库 sip 错误

osip library sip errors

在 How-To initialize libosip2 站点上有初始化 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)) ===|

这是因为你没有link二进制osip.o

为了link带一个库,你需要在命令行指定它。

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

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

使用 GCC 和动态 linking,应该是这样的:

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

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