分类: LINUX
2008-11-18 10:07:13
Linux下编译jrtplib和jthread
1. 下载开发包解压。这里用的是jrtplib-3.7.1,下载地址:
2. 解压后出现两个目录,一个是jrtplib-3.7.1,一个是jthread-1.2.1。安装支持jthread的jrtplib,需要先安装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.so和libjthread-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头文件目录,根据实际情况修改。
这是共享连接库的问题。一般来说,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,就可以了。
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]: 没有什么可以做的为