PATH环境变量 或者 更改/etc/ld.so.conf 或者 使用

尝试使用libosip2,安装比较简单,按照自带的help文档里面的操作进行即可。

$>mkdir linux-build

$>cd linux-build

$>../libosip2-2.2.0/configure

$>make                          (最后2步要在管理员权限下执行)

# make install

完成之后,会在/usr/local/lib路径下生成一些lioosipXXX.so的文件,在/usr/local/include下生成关于osip的头文件。

为了测试安装是否正确,在eclipse下建了个测试项目,写了很简单的代码:

#include <sys/time.h>//不加的话,编译时会报错,可能osip依赖于time.h

#include <osip2/osip.h>

//之所以能找到/usr/local/include下关于osip的头文件,是因为eclipse默认把/usr/local/include 放到Include directories里面了。在eclipse的项目属性-->C++ General-->Path and symbols -->Include里面可以看到。如果自己写makefile文件的话,要加上-I 选项,表示程序里include的头文件去哪里找。参见   关于头文件说明

#include <iostream>

using namespace std;

int main()

{

int i;

osip_t *osip;

i = osip_init(&osip);

if(i != 0)

cout << "error" << endl;

cout << "ok" << endl;

return 0;

}

并且在eclipse的项目属性-->C/C++ Build-->Settings-->Tool settings-->GCC C++ Linker-->Libraries加上-lpthread -losip2的选项。

编译链接都没有问题,运行时报错:

error while loading shared libraries: libosip2.so.4: cannot open shared object file: No such file or directory

然后查到可能是因为共享库设置的问题:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/24187.html