Linux下编译jrtplib和jthread(转)
(2012-08-30 22:11:17)
标签:
动态链接库
目录
头文件
文件夹
安装
it
分类:
C语言
1.
下载开发包解压。分别下载jrtplib-3.7.1.tar.gz和jthread-1.2.1.tar.gz。下载地址为:
http://research.edm.uhasselt.be/jori/jrtplib/jrtplib-3.7.1.tar.gz和
http://research.edm.uhasselt.be/jori/jthread/jthread-1.2.1.tar.gz
2. 将源文件放到如下任意目录中,这里假设放到主目录下:/home/nick/。分别解压#tar -xzvf
xxx,xxx为文件名。解压后出现两个目录,一个是jrtplib-3.7.1,一个是jthread-1.2.1。然后进行安装,先安装jthread,再安装jrtplib。
3. jthread安装:进入jthead解压目录,运行#./configure配置环境,如果出现permission
denied,说明我们需要给文件configure执行的权限,运行#chmod a+x
configure即可。配置完毕后运行#make,成功后再运行#make
install。安装成功以后会在/urs/local/include目录下多出一个文件夹jthread。
4.
jrtplib安装同上,全部安装好以后会在/urs/local/include目录下多出两个文件夹jrtplib3(可能由于版本不同,生成的文件夹名字略有不同,比如叫jrtplib-3.7.1)和jthead。复制jthead下所有文件(都是后缀为.h的头文件)到jrtplib文件夹下,目的是为了让所有头文件在一个目录下方便调用。
5.
装好以后系统环境如下,静态动态库安装到了/usr/local/lib目录下,包括libjrtplib-3.7.1.so和libjthread-1.2.1.so等。头文件在/usr/local/include/jrtplib-3.7.1目录下。
6.
在jrtplib源代码目录里有示例程序,在目录example下,试验一下编译example1.cpp,使用静态库libjrtp.a链接,编译链接语句如下(注意用g++而不是gcc编译,因为是链接阶段需要g++):
g++ -o example1 example1.cpp -I /usr/local/include/jrtplib/
-ljrtp
即生成应用程序exmaple1,注意,-I(大写的i)参数中路径为jrtplib头文件目录,根据实际情况修改。如果出现错误,说明动态链接库路径不对,有以下两种方法可以对动态链接库的路径进行设置:
a、修改动态链接库宏LD_LIBRARY_PATH。LD_LIBRARY_PATH
这个环境变量是大家最为熟悉的,它告诉loader:在哪些目录中可以找到共享库。可以设置多个搜索目录,这些目录之间用冒号分隔开。export
LD_LIBRARY_PATH=/usr/local/lib,然后再运行编译,即可通过。这种方法只是暂时修改路径,在重启shell后会失效。
b、永久生效的方法为修改动态链接库配置文件/etc/ld.so.conf,或者在/etc/ld.so.conf.d里创建一个新文件,并把需要的目录加到这个文件里。具体方法如下:
#cd /etc/ld.so.conf.d
#vim jrtplib 在编辑环境下加入/usr/local/lib,保存退出。
#ldconfig 重新加载动态链接库。
然后再执行编译链接,成功生成example1文件。
然后运行./example1。成功。
FROM:http://hi.baidu.com/nick0411/blog/item/8ec3a7090a6a99da63d98600.html
分享:
喜欢
0
赠金笔
加载中,请稍候......
评论加载中,请稍候...
发评论
登录名: 密码: 找回密码 注册记住登录状态
昵 称:
评论并转载此博文
发评论
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。