error while loading shared libraries: : cannot open shared object file: No such file or directory ======= 解决办法:向ld.so.conf文件中添加libboost_system.so.1.58.0所在的目录路径 sudo vim /etc/ld.so.conf sudo ldconfig http://blog.csdn.net/smallfish0315/article/details/…
1.首先下载安装包,然后解压, 切换目录 wget -o boost_1_58_0.gar.gz http://sourceforge.net/projects/boost/files/boost/1.58.0/boost_1_58_0.tar.bz2/download tar xf boost_1_58_0.tar.gz cd boost_1_58_0 2. 编译前安装必要的库 sudo apt-get install mpi-default-dev # mpi related sudo ap…
由于以往我写过不少使用boost库开发的项目,而最近准备移植一些代码到android上(上层界面以及jni层我不管,也没研究过,现在只完成代码的移植编译,具体如何调用,由其它人负责),所以先要解决的就是boost库本身的移植问题. 在google上找了一些相关的资料,然后在http://stackoverflow.com上找到一个给力的帖子: http://stackoverflow.com/questions/14036311/official-boost-library-support-fo…
出现 OError: decoder jpeg not available 的原因是,没有装JPEG的库,同时要支持png图片的话还要装 ZLIB.FREETYPE2.LITTLECMS的库文件. 先说第一种解决方案:完整安装这些库!!!! 安装方法:http://cn-popeye.iteye.com/blog/1236691      在这篇博客里作者很详细的说了下载地址和安装方法,我这里只是抄过来. 1. install zlib (ubuntu 官方源没有zlib,别想apt-get了)…
最近因为各种原因,装过不少次Caffe,安装过程很多坑,为节省新手的时间,特此总结整个安装流程. 关于Ubuntu 版本的选择,建议用14.04这个比较稳定的版本,但是千万不要用麒麟版!!!比原版体验要差很多!!! Caffe的安装过程,基本采纳 这篇文章 然后稍作改动,跳过大坑. Caffe + Ubuntu 14.04 64bit + CUDA 6.5 配置说明  http://www.linuxidc.com/Linux/2015-04/116444.htm 1. 安装开发依赖包 sudo…
目录 . 引言 . 交叉编译 . Cygwin简介 . 静态库编译及使用 . 动态库编译及使用 . MinGW简介 . CodeBlocks简介 0. 引言 UNIX是一个注册商标,是要满足一大堆条件并且支付可观费用才能够被授权使用的一个操作系统.linux是unix的克隆版本,是由其创始人Linus和诸多世界知名的黑客手工打造的一个操作系统.为什么linux和unix之间有很多软件可以很轻松的移植?因为linux也满足POSIX规范,所以在运行机制上跟unix相近.同时,POSIX标准也是Li…
在有时运行程序出现动态库找不着的问题,而明明装了的.这时候可能是没有将相应的路径添加到系统中去. 具体说:cd /etc/ld.so.conf.d/ 可以发现里面有一堆*.conf的文件 我们要做的就是建一个自己的文件,里面写上我们的动态库路径.具体形式如果有问题可以参考其他的*.conf文件 添加完毕之后记得在terminal里面输入sudo ldconfig…
conda的确是一个非常好的工具,对于初学者而言,安装软件就跟用XXX软件管理器一样方便.正因为他如此便利,以至于我介绍如何手动安装工具时,总有人问我为啥不用conda. 我用conda,并且用的很好. 下面解决一个非常有趣的conda安装工具后出现的动态库缺失的问题.这是我最近遇到的例子, $ samtools samtools: error while loading shared libraries: libtinfow.so.5: cannot open shared object fi…
不同版本号的动态库可能会不兼容,假设程序在编译时指定动态库是某个低版本号.执行是用的一个高版本号,可能会导致无法执行. Linux上对动态库的命名採用libxxx.so.a.b.c的格式.当中a代表大版本号号.b代表小版本号号,c代表更小的版本号号.我们以Linux自带的cp程序为例,通过ldd查看其依赖的动态库 $ ldd /bin/cp linux-vdso.so.1 => (0x00007ffff59df000) libselinux.so.1 => /lib64/libselinux.…
静态库与动态库 首先简单介绍一下gcc 指令 ubuntu 下安装gcc g++ 方法 sudo apt install gcc g++ gcc 的简单使用 建立hello.c 源文件 gcc hello.c => 生成a.out gcc hello.c -o hello => 生成hello ./a.out | ./hello 运行 编译步骤 预处理 生成.i 文件 编译 生成.s 文件 生成目标文件 .o 链接各个.o 文件生成可执行文件 gcc常用参数选项 gcc编译选项 选项的意义 -…
GCC 指令详解及动态库.静态库的使用 一.GCC 1.1 GCC 介绍 GCC 是 Linux 下的编译工具集,是「GNU Compiler Collection」的缩写,包含 gcc.g++ 等编译器.这个工具集不仅包含编译器,还包含其他工具集,例如 ar.nm 等. GCC 工具集不仅能编译 C/C++ 语言,其他例如 Objective-C.Pascal.Fortran.Java.Ada 等语言均能进行编译.GCC 还可以根据不同的硬件平台进行编译,即能进行交叉编译,在 A 平台上编译…
ubuntu14.04部署ELK+redis日志分析系统 [环境] host1:172.17.0.4 搭建ELK+redis服务 host2:172.17.0.3 搭建logstash+nginx服务 注:安装开发编译包: #apt-get install build-essential -y (ubuntu) #yum groupinstall "Development Tools" -y (CentOS) 一.ELK的运行环境需要java支持,ubuntu14.04安装java8.…
使用virtual c++ 6.0创建和调用动态库 不得不说一下关于环境的问题 只要我打一个响指,一半的安装在win7上的VC6.0都会因为兼容性问题直接崩掉 懒得研究怎么解决兼容性的问题了,直接开一个winXP虚拟机完美运行vc6.0,省时省心,岂不美哉 研究大佬的博客的时候 Windows下静态库与动态库的创建与使用 尝试使用.def文件生成动态库并使用隐式链接到工程时,发现这个方法仅适用于动态库所在的工程和调用动态库的工程同时处于一个工作空间 如图所示,0527helloworld是动态库…
Ubuntu14.04上Caffe安装指南 安装的准备工作 首先,安装官方版Caffe时.假设要使用Cuda.须要确认自己确实有NVIDIA GPU. 安装Ubuntu时,将/boot 分区分大概200M左右,太小了会导致升级系统时/boot空间不足.交换分区能够分到和机子的内存差点儿相同. /opt 和 /usr/local 文件夹要保证空间能够满足软件安装的需求.暂时文件夹也不能太小.建议10G以上,由于如今的Matlab.MKL软件都非常大,暂时文件夹可能挂载不上去.其余的差点儿相同都能够…
不用作任何调整,直接在Linux下编译GDAL2.1.1源码的步骤是: $ ./configure $ make $ make install 非常简单,这样也能正常生成gdal动态库.静态库,如果想将生成的文件放到指定的目录,则需改第一条命令为: $ ./configure --prefix=/home/spring/gdal/gdal_lib 这样生成的动态库.静态库在编译的Linux机子上是能正常使用的,但是将此动态库.静态库放在其它干净的机子上就会提示缺失各种第三方库,如libjpeg.…
现象:试图在一个已有项目里增加qt的代码,因此手动加入相关framework(未通过qmake生成工程),编译连接都通过,但是运行时崩溃,提示错误: dyld: Library not loaded @rpath  ..... QtCore 总之就是QtCore找不到. 通过研究比较,发现原因在于qt是动态链接的,因此运行时会加载动态链接库,此处需要指定qt动态库的路径.怎样指定呢?在Build Setting中: Other link flags,加上两行: -Wl,-rpath,你的qt路径…
思路:一般来说,通过make命令已经将程序依赖的动态库编译出来了,通过make install命令已经将动态库安装到系统的某个路径下.找没找到动态库就看这个路径是否包含在系统默认搜索动态库的路径中,如果不在,那么就会提示找不到动态库.以下三种方法,就是根据前面的分析来解决的. 方法一:修改LD_LIBRARY_PATH环境变量 特点:这种方法主要处理临时的动态库加载,LD_LIBRARY_PATH环境变量修改后,只能是对当前的用户生效. LD_LIBRARY_PATH的作用:这个环境变量用于在程…
在公司用的联想 ThinkPad T430i,原装配置及系统,开机巨慢.按下开机键到登陆界面超过1分钟,再到桌面这个时间就难说了,多时有超过3分钟,进入桌面还要等待几分钟才能正常操作.新年过来向公司领导申请换固态硬盘,得到领导同意马上换了三星 120G的SSD,重装系统. 做为软件开发工程师,重装系统就意味着重装N多开发软件,特别是现在的上位机开发软件动则几个G! 重装系统后C#开发安装的是SharpDevelop 4.4.打开以前的工程运行提示“SCL_API_cdecl.dll,找不到指定模…
注: client 个人觉得没必要用 libvent来实现就没写 注:由于 涉及到回调函数的使用 如有疑惑的可以先去了解回调函数的实现机理 先来说一下 libevent主要是干啥的 : 内部封装了 socket 通信 和 io 转接函数 ,通过使用大量的回调使得不用考虑大量重复的工作,并且其根据不同平台封装了不同的io转接函数,使其具有跨平台的效果(这里linux 封装的是epoll) 下面 直接上代码 : // File Name: server.c // Author: jiujue //…
1.找不到库文件的原因 库文件不存在 这种情况一般是因为所需要的包没装,只要安装相应的包就可以解决 存在而系统不知道 这种情况一般出现在自己编译软件时候 确保库文件所在的路径已加入系统,在/etc/ld.so.conf文件中设置 用命令ldconfig更新数据库 在编译一些开源软件的时候常常会遇到类似于error while loading shared libraries: libmysqlclient.so 等链接接库找不到.那怎么办呢?总的来说是由于开源软件的动态链接库没有放在程序寻找的地…
GSL(GNU Scientific Library)作为三大科学计算库之一,除了涵盖基本的线性代数,微分方程,积分,随机数,组合数,方程求根,多项式求根,排序等,还有模拟退火,快速傅里叶变换,小波,插值,基本样条,最小二乘拟合,特殊函数等.下面介绍一下GSL的安装和使用. 方法一: 首先从官网下载到源代码(我用的版本是 gsl-1.9)压缩包,解压后进入目录,执行 ./configure make make install 这个过程需要几分钟.这里还有一点需要注意的是,执行 make inst…
linux为了加快程式执行时对共享库的定位速度,避免使用搜索路径查找共享库的低效率,所以是直接读取库列表文档 /etc/ld.so.cache 从中进行搜索./etc/ld.so.cache 是个非文本的数据文档,不能直接编辑,他是根据 /etc/ld.so.conf 中配置的搜索路径由 /sbin/ldconfig 命令将这些搜索路径下的共享库文档集中在一起而生成的(ldconfig 命令要以 root 权限执行).因此,为了确保程式执行时对库的定位,在 修改/etc/ld.so.conf 后…
首先系统上得有,只是路径问题 可使用ldd查看可执行程序的依赖库 以下都需要超级权限: find / -name libnet.so.9 // 可能在/usr/lib或/usr/local/lib中 vim /etc/ld.so.conf // 把动态库路径加到最后一行 执行ldconfig 参考: http://blog.csdn.net/gx19862005/article/details/48528235 http://www.cnblogs.com/xudong-bupt/p/36982…
一般先使用ldd 来查看该应用程序缺少什么东西,然后,再根据sudo apt install XXX 去安装相应的动态库. 假如没有对应的库,可以使用: sudo ln -s /usr/lib/libtiff.so.4 /usr/lib/libtiff.so.3来进行映射. https://www.cnblogs.com/dylancao/p/9522018.html…
多线程 boost编译与运行的坑 背景:因为要使用boost里的多线程库,所以遇到了下面的坑. 系统版本:ubuntu18.04 一,安装boost 1,去boost官网下载 boost_1_XX_0.tar.gz 2,解压 tar -zxvf boost_1_65_0.tar.gz 3,进去解压后的文件夹 cd boost_1_XX_0  4,编译 bootstrap.sh  5,安装 ./b2 注意:安装完成后,会有信息打印到控制台,最重要的就是: 头文件所在的路径(我的例子:/home/y…
  本文,试图中一个干净的ubuntu14.04机器上安装caffe的cpu版本. http://blog.csdn.net/sinat_35188997/article/details/73530434 http://caffe.berkeleyvision.org/installation.html http://blog.csdn.net/zly_kemgine/article/details/78749764 首先卸载掉一些包: 卸载所有cuda有关的包: apt-get remove…
经过这几天来的折腾,总算是在ubuntu14.04用kvm装上了xp, 看不少的的贴,也绕了不少的圈,总的来说,非常感谢CSDN上的"上善若水75",看着他写的一个分类"QEMU-KVM"本文大部分参考自http://blog.csdn.net/hbsong75/article/category/1469881/2 从他走过的路上一点点去实现在ubuntu14.04 desktop(32bit)实现kvm装个XP,为什么要装这个?因为工作上的各种原因吧工作上: 如同…
不多说,直接上干货! 笔者花了很长时间才装完,主要是cuda安装和opencv安装比较费劲,cuda找不到32位的安装包只好重装64位的ubuntu系统,opencv 也是尝试了很久才解决,这里建议用2.4.9版本.其实如果没用GPU的话不需要安装cuda,不过为了后续兼容性的考虑,系统强烈建议64位的.下面是 对自己的安装过程记录备忘,有些主要参考网上的文章,所以有些过程就直接用了原来文章中的内容. caffe在git上的源码:https://github.com/BVLC/caffe 环境:…
总所周知,ASP.NET是微软公司的一项技术,是一个网站服务端开发的一种技术,它可以在通过HTTP请求文档时再在Web服务器上动态创建它们,就是所谓动态网站开发,它依赖运行于 IIS 之中的程序 .但是从成本上面来讲,Linux(开源)系统的花费比Windows Server系列少得多.因此,更多的企业愿意采用Linux作为服务器系统.由于ASP.NET依赖于IIS,导致有部分创业型公司在技术选型上会将ASP.NET筛选掉.我们伟大的程序猿,为了能让ASP.NET运行在Linux系统上,Mono…
查看Ubuntu14.04 64位上显卡信息,执行: lspci | grep -i vga lspci -v -s 01:00.0 nvidia-smi 第一条此命令可以显示一些显卡的相关信息:如果想查看某个详细信息,可以执行第二条命令;如果是NVIDIA卡, 可继续执行第三条命令,显示为GeForce GTX 970. 参考https://wiki.ubuntu.com.cn/NVIDIA安装GeForce GTX 970驱动. 安装cuda 8.0: 1.      参考官网: http:…