linux下链接时缺少动态链接库】的更多相关文章

1, 用ln将需要的so文件链接到/usr/lib或者/lib这两个默认的目录下边 ln -s /where/you/install/lib/*.so /usr/libsudo ldconfig 2,修改LD_LIBRARY_PATHexport LD_LIBRARY_PATH=/where/you/install/lib:$LD_LIBRARY_PATHsudo ldconfig 3.修改/etc/ld.so.conf,然后刷新 vim /etc/ld.so.confadd /where/yo…
目前,在做的一个程序,编译完后,运行发现报错说找不到自己编译生成的动态库文件,很尴尬;;;果断查资料解决,捎带复制一篇写的比较完善的文章, 地址:http://www.cnblogs.com/wiessharling/p/3431753.html 原文内容如下: Linux下找不到动态链接库   1.生成静态库 生成静态库使用ar工具,其实ar是archive的意思 $ar cqs libhello.a hello.o 2.生成动态库 用gcc来完成,由于可能存在多个版本,因此通常指定版本号:…
Linux下编译程序时,经常会遇到“undefined reference to XXX” 报错, 这里总结一些可能的原因和解决方案,给需要的朋友: 说道undefined reference error,先提一下Linux gcc链接规则: 链接的时候查找顺序是: -L 指定的路径, 从左到右依次查找 由 环境变量 LIBRARY_PATH 指定的路径,使用":"分割从左到右依次查找 /etc/ld.so.conf 指定的路径顺序 /lib 和 /usr/lib (64位下是/lib…
(一).Linux环境下mysql的安装.SQL操作 Linux下安装MySQL (rmp --help) 基本步骤:上传软件->检查当前Linux环境是否已经安装,如发现系统自带的,先卸载->安装->验证. 1.检查是否安装mysql :查询所有安装过的软件:rpm -qa 检查是否安装mysql rpm -qa|grep mysql 或者 rpm -qa | grep -i mysql 卸载自带的mysql 卸载软件:rpm -e --nodeps xxxx rpm -e --nod…
1.生成静态库 生成静态库使用ar工具,其实ar是archive的意思 $ar cqs libhello.a hello.o 2.生成动态库 用gcc来完成,由于可能存在多个版本,因此通常指定版本号: $gcc -shared -o libhello.so.1.0 hello.o 3.库文件是如何命名的,有没有什么规范: 在 linux 下,库文件一般放在/usr/lib和/lib下, 静态库的名字一般为libxxxx.a,其中 xxxx 是该lib的名称: 动态库的名字一般为libxxxx.s…
1.生成静态库 生成静态库使用ar工具,其实ar是archive的意思 $ar cqs libhello.a hello.o 2.生成动态库 用gcc来完成,由于可能存在多个版本,因此通常指定版本号: $gcc -shared -o libhello.so.1.0 hello.o 3.库文件是如何命名的,有没有什么规范: 在 linux 下,库文件一般放在/usr/lib和/lib下, 静态库的名字一般为libxxxx.a,其中 xxxx 是该lib的名称: 动态库的名字一般为libxxxx.s…
大家在linux下源码安装时,有木有经常碰到缺少这个包那个包的,然后不知所措?看到最近有几个筒子安装thrift,安装python因缺少依赖包而进行不下去了.我用的是红帽,装系统的时候习惯把所有的有的没的都选择上,基本没有出现过缺少包的情况,大家可以试试.如果装系统的时候忘了选择所有的包,来,这里有你想要的.如果电脑可以联网,可以试试以下的yum命令,把命令copy过去贴到命令行执行下就OK了: yum -y install gcc gcc-c++ autoconf libjpeg libjpe…
链接库路径 默认的链接库路径,定义在搜索/etc/ld.so.conf下的一些路径,其包含了一些重要的系统位置:LIBRARY_PATH, 但如果定义了LD_LIBRARY_PATH, 动态库的搜索路径会先去该环境变量下搜索 但如果定义了LIBRARY_PATH, 静态库的搜索路径会先去该环境变量下搜索 默认的头文件位置 还没找到默认头文件定义的配置文件,与系统,编译器等都有关系,但可以通过以下命令查看 cpp -v /dev/null -o /dev/null 除此之外,可以通过设置C_INC…
一顺便说说了哦  通常情况下,对函数库的链接是放在编译时期(compile time)完成的.所有相关的对象文件(object file)与牵涉到的函数库(library)被链接合成一个可执行文件(executable file).程序在运行时,与函数库再无瓜葛,因为所有需要的函数已拷贝到自己门下.所以这些函数库被成为静态库(static libaray),通常文件名为"libxxx.a"的形式.  其实,我们也可以把对一些库函数的链接载入推迟到程序运行的时期(runtime).这就是…
window下的sqlplus可以通过箭头键,来回看历史命令,用起来非常的方便. 但是在linux里就没有这么方面了,错了一个命令,我们必须重新敲一次,辛苦了手指头叻. 看到一个文章,很方便的一招,给我们带来方便. 通过rlwrap包实现linux里的sqlplus历史命令的功能 这个包依赖readline包 下载 rlwrap-0.36.tar.gz http://utopia.knoware.nl/~hlub/rlwrap/readline-6.1.tar.gz http://tiswww.…