Chinaunix首页 | 论坛 | 博客
  • 博客访问: 260277
  • 博文数量: 49
  • 博客积分: 1400
  • 博客等级: 上尉
  • 技术积分: 540
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-08 10:33
文章分类

全部博文(49)

文章存档

2010年(2)

2009年(30)

2008年(17)

我的朋友

分类: LINUX

2008-11-18 10:07:13

Linux下编译jrtplibjthread

1.       下载开发包解压。这里用的是jrtplib-3.7.1,下载地址:

2.       解压后出现两个目录,一个是jrtplib-3.7.1,一个是jthread-1.2.1。安装支持jthreadjrtplib,需要先安装jthread

3.       进入jthead解压目录,运行./configure配置环境,如果出现permission denied说明configure文件权限设置问题,运行sudo chmod 777 configure即可。配置完毕后运行make,接着make install。如果有问题可能是权限问题,改为sudo make install

4.       jrtplib安装同上,安装好以后会在/urs/local/include目录下多出两个文件夹jrtplib(可能由于版本不同,生成的文件夹名字略有不同,比如叫jrtplib3)和jthead。复制jthead下所有文件到jrtplib文件夹下,目的是为了让所有头文件在一个目录下方便调用。

5.       装好以后系统环境如下,静态动态库安装到了/usr/local/lib目录下,包括libjrtplib-3.7.1.solibjthread-1.2.1.so等。头文件在/usr/local/include目录jrtplib3目录下。

6.       jrtplib源代码目录里有例子程序,make文件都是写好的,试验一下编译example1.cpp,使用静态库libjrtp.a链接,编译语句如下:

g++ -o example1 example1.cpp -I /usr/local/include/jrtplib3/ -ljrtp

即生成应用程序exmaple1,注意参数中路径为jrtplib3头文件目录,根据实际情况修改。

7. 然后运行make,再运行./example1,出现
   ./example1: error while loading shared libraries: libjthread-1.2.1.so: cannot open shared object file: No such file or directory

 

这是共享连接库的问题。一般来说,Linux默认会在路径为/lib和/usr/lib下的库文件收缩,而上面的库文件在/usr/local/lib下,可以在/lib或者在/usr/lib下创建该库的快捷 方式,

如:sudo ln -s /usr/local/lib/libjrtp-3.7.1.so  /usr/lib/libjrtp-3.7.1.so

还需要将该库路径添加到文件 /etc/ld.so.conf ,在改之前得需要改文件的 /etc/ld.so.conf的读写权限,如:sudo 777 /etc/ld.so.conf ,之后再用:

sudo echo /usr/local/lib/   /etc/ld.so.conf

最后执行命令: suod ldconfig,更新库的信息,这样执行文件 ./example1,就可以了。

阅读(3799) | 评论(4) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2008-12-13 17:39:30

大家共同分享,我对那个也不是很了解,是有个项目要用到这个,我也在愁这个呢!不知道怎么整!呵呵

chinaunix网友2008-12-12 19:16:55

可以了,呵呵,那个不用管,直接用sudo make install可以成功安装! 谢谢分享^_^

chinaunix网友2008-12-12 16:09:50

能问一个问题不?我怎么编译不成功啊,出现下面的情况,希望帮助我一下: make[1]:正在离开目录 `/home/andy86/source/jthread-1.2.1/src' Making all in doc make[1]: 正在进入目录 `/home/andy86/source/jthread-1.2.1/doc' make[1]: 没有什么可以做的为 `all'。 make[1]:正在离开目录 `/home/andy86/source/jthread-1.2.1/doc' Making all in pkgconfig make[1]: 正在进入目录 `/home/andy86/source/jthread-1.2.1/pkgconfig' make[1]: 没有什么可以做的为 `all'。 make[1]:正在离开目录 `/home/andy86/source/jthread-1.2.1/pkgconfig' make[1]: 正在进入目录 `/home/andy86/source/jthread-1.2.1' make[1]: 没有什么可以做的为

chinaunix网友2008-12-11 11:11:00

谢谢分享