linux qt 编译时与运行时缺乏共享库

linux qt 编译时与运行时缺乏共享库,第1张

LIBS += -L /usr/local/lib -levent -levent_core -levent_extra -levent_pthreads

/usr/local/lib 为lib库所在路径

-levent -levent_core -levent_extra -levent_pthreads为需要链接的库

缺少动态连接库.so--cannot open shared object file: No such file or directory

总结下来主要有3种方法:

ln -s /where/you/install/lib/*.so /usr/lib // -s选项不懂意思

sudo ldconfig //加载配置项?用来刷新共享库缓存 详细请见: ldd和ldconfig命令2013-02-06

// 我是用第一种方法完成了修改 但是不太懂 sudo ldconfig 的意思 大概是加载配置项吧

export LD_LIBRARY_PATH=/where/you/install/lib:$LD_LIBRARY_PATH

sudo ldconfig

vim /etc/ld.so.conf

add /where/you/install/lib

sudo ldconfig

你要配置一下环境变量的,你的系统是redhat还是ubuntu?你百度一下这连个都怎么配置,好像是不太一样

<1>在 shell终端执行命令:vi /etc/profile

<2>在 profile文件末尾加入:

JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.15

PATH=$JAVA_HOME/bin:$PATH

CLASSPATH=.:$JAVA_HOME/lib/dt.jar: $JAVA_HOME/lib/tools.jar

export JAVA_HOME,PATH,CLASSPATH

ubuntu的

CentOS6.4 安装NCL遇到的问题,有需要的朋友可以参考下。问题1:缺少openssl-0.9.8 结果程序报错:"ncl: error while loading shared libraries: libcrypto.so.0.9.8: cannot open shared object file: No such file or directory"这是因为缺少共享库文件。解决方法:在/usr/lib下找到了 libcrypto.so.0.9.8k,做个链接。$ su$ cd /usr/lib$ ln -sf libcrypto.so.0.9.8k libcrypto.so.0.9.8如果无法获得超级用户权限,可以在home下建立个目录,如:/home/usr/lib$ cd /home/usr/lib$ ln -sf /usr/lib/libcrypto.so.0.9.8k ./libcrypto.so.0.9.8$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/usr/lib #或者是在.bashrc中添加这一行如果没找到合适版本的libcrypto,可以从这里下载:http://www.openssl.org然后$ ./config shared$ make将生成的 libcrypto.so.0.9.8 按照上面的方法 *** 作。再次运行NCL,报错内容变为 libssl.so.0.9.8,如法炮制。最后运行NCL,报错内容为:ncl: /home/usr/lib/libcrypto.so.0.9.8: no version information available (required by ncl)ncl: /home/usr/lib/libssl.so.0.9.8: no version information available (required by ncl)这个错误暂时没有方法解决,不过NCL可以运行,应该没啥问题。问题2:缺少libbz2.so.1.0 程序报错:“ncl: error while loading shared libraries: libbz2.so.1.0: cannot open shared object file: No such file or directory”解决方法:从http://sources.redhat.com/bzip2/下载安装包参考http://man.chinaunix.net/linux/lfs/htmlbook/chapter06/bzip2.html进行安装Bzip2 是块排序文件压缩器,比传统的gzip生成更高压缩比的文件。 安装下列程序: bunzip2 (link to bzip2), bzcat (link to bzip2), bzcmp, bzdiff, bzegrep, bzfgrep, bzgrep, bzip2, bzip2recover, bzless 和 bzmore安装下列库文件: libbz2.a, libbz2.so (link to libbz2.so.1.0), libbz2.so.1.0 (link to libbz2.so.1.0.2) 和 libbz2.so.1.0.2Bzip2 依赖于: Bash, Binutils, Coreutils, Diffutils, GCC, Glibc, Make. 安装 Bzip2 为编译 Bzip2 做准备 with:make -f Makefile-libbz2_somake clean-f标志使bzip2g根据另一个Makefile来编译,这里就是Makefile-libbz2_so文件,它创建一个动态的libbz2.so库文件,然后把bzip2工具连接到这个库上。编译软件包:make安装:make install把共享的bzip2二进制文件拷贝到/bin目录,创建必要的符号链接,作一些清理工作.cp bzip2-shared /bin/bzip2cp -a libbz2.so* /libln -s ../../lib/libbz2.so.1.0 /usr/lib/libbz2.sorm /usr/bin/{bunzip2,bzcat,bzip2}mv /usr/bin/{bzip2recover,bzless,bzmore} /binln -s bzip2 /bin/bunzip2ln -s bzip2 /bin/bzcat


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8308237.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-15
下一篇2023-04-15

发表评论

登录后才能评论

评论列表(0条)

    保存