免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4374 | 回复: 3
打印 上一主题 下一主题

自学新人。求答疑。。。动态链接库,丢失问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-17 13:02 |只看该作者 |倒序浏览
本帖最后由 _Genesis 于 2011-12-17 13:22 编辑

  1. CC = g++
  2. CFLAGS = -c -Wall
  3. COM_H = header.h
  4. Objs = main.o ex1.o header.o
  5. CVs = -I. -I/home/web/include/opencv -L/home/web/lib -lm -lopencv_core -lopencv_ml -lopencv_highgui

  6. main: $(Objs)
  7.         $(CC) -o main $(Objs) $(CVs)

  8. header.o: header.cpp header.h
  9.         $(CC) $(CFLAGS) -o header.o header.cpp $(CVs)

  10. ex1.o: ex1.cpp ex1.h $(COM_H)
  11.         $(CC) $(CFLAGS) -o ex1.o ex1.cpp $(CVs)

  12. main.o: main.cpp main.h $(COM_H)
  13.         $(CC) $(CFLAGS) -o main.o main.cpp $(CVs)

  14. clean:
  15.         rm main $(Objs)
复制代码
编译完了。运行 ./main

  1. :!./main
  2. ./main: error while loading shared libraries: libopencv_core.so.2.3: cannot open shared object file: No such file or directory

  3. Shell 已返回127     
复制代码
补充:

  1. web@pc-laptop:~/workTree/c/helloGcc/cvEx$ ldd main
  2.         linux-gate.so.1 =>  (0x008e3000)
  3.         libopencv_core.so.2.3 => not found
  4.         libopencv_ml.so.2.3 => not found
  5.         libopencv_highgui.so.2.3 => not found
  6.         libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00bce000)
  7.         libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0x00f82000)
  8.         libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00fba000)
  9.         libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0x00312000)
  10.         /lib/ld-linux.so.2 (0x0099a000)
  11. web@pc-laptop:~/workTree/c/helloGcc/cvEx$
复制代码

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
2 [报告]
发表于 2011-12-17 13:39 |只看该作者
回复 1# _Genesis


    把你通過 -L 指定的鏈接時庫文件搜索路徑添加到運行時動態庫搜索路徑列表 LD_LIBRARY_PATH 中。

论坛徽章:
0
3 [报告]
发表于 2011-12-17 14:55 |只看该作者
回复 2# MMMIX


    谢谢你,我解决了。方法是,直接改ldconfig。我这个时间这个版本的ldconfig 是这个样子的:
[shell]
web@pc-laptop:/etc$ gvim ld.so.conf
[/shell]

  1. include /etc/ld.so.conf.d/*.conf
复制代码
于是我就去找ld.so.conf.d
[shell]
web@pc-laptop:/etc$ cd ld.so.conf.d/
web@pc-laptop:/etc/ld.so.conf.d$ ls
GL.conf  i486-linux-gnu.conf  libasound2.conf  libc.conf  opencv.conf
[/shell]
管理员权限添加一个opencv.conf

  1. /home/web/lib
复制代码
然后,用管理源权限ldconfig下:
[shell]
sudo ldconfig
[sudo] password for web:
/sbin/ldconfig.real: /home/web/lib/libopencv_features2d.so.2.3 不是符号连接

/sbin/ldconfig.real: /home/web/lib/libopencv_contrib.so.2.3 不是符号连接

/sbin/ldconfig.real: /home/web/lib/libopencv_imgproc.so.2.3 不是符号连接

/sbin/ldconfig.real: /home/web/lib/libopencv_objdetect.so.2.3 不是符号连接

/sbin/ldconfig.real: /home/web/lib/libopencv_highgui.so.2.3 不是符号连接

/sbin/ldconfig.real: /home/web/lib/libopencv_ts.so.2.3 不是符号连接

/sbin/ldconfig.real: /home/web/lib/libopencv_legacy.so.2.3 不是符号连接

/sbin/ldconfig.real: /home/web/lib/libopencv_gpu.so.2.3 不是符号连接

/sbin/ldconfig.real: /home/web/lib/libopencv_video.so.2.3 不是符号连接

/sbin/ldconfig.real: /home/web/lib/libopencv_ml.so.2.3 不是符号连接

/sbin/ldconfig.real: /home/web/lib/libopencv_calib3d.so.2.3 不是符号连接

/sbin/ldconfig.real: /home/web/lib/libopencv_core.so.2.3 不是符号连接

/sbin/ldconfig.real: /home/web/lib/libopencv_flann.so.2.3 不是符号连接

[shell]

然后ldd显示,可以找到链接库了。但是,我不太明白,这个 “xxx 不是符号链接“是什么意思
还有,这个解决方案,和你说的添加 环境变量的方法,哪个更常用一些。

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
4 [报告]
发表于 2011-12-17 19:52 |只看该作者
个解决方案,和你说的添加 环境变量的方法,哪个更常用一些。
_Genesis 发表于 2011-12-17 14:55



    顯然是添加環境變量的方法更常用。不是每個人都有權限修改系派配置,而且系統配置也不應隨意修改。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP