• 14894阅读
  • 7回复

QT 怎样使用 .so 库 我用LIBS += 网上说的。不行啊。 [复制链接]

上一主题 下一主题
离线wildsun
 
只看楼主 倒序阅读 楼主  发表于: 2010-02-05
— 本帖被 XChinux 执行加亮操作(2010-09-03) —
QT 怎样使用 .so 库 我用LIBS += 网上说的。不行啊。
总是提示:在usr/bin里没有发现***.so文件。就是放进去也不行。为何啊?
离线snailbing

只看该作者 1楼 发表于: 2010-02-05
LIBS += -L/usr/loca/lib -lmylib
离线wildsun
只看该作者 2楼 发表于: 2010-02-08
还是不行.啊.谁有这方面的例子..发一个.
离线shiroki

只看该作者 3楼 发表于: 2010-02-08
-L后边写你的库放的位置。 -l后面是库的名字去掉lib和后缀
库的路径里必须有 libxxx.so文件, pro里写 LIBS+=-Lpath_to_lib -lxxx
--
shiro is White
ki is tree
http://www.cuteqt.com
论坛 http://www.cuteqt.com/bbs
博客 http://www.cuteqt.com/blog
博客镜像: http://sites.cuteqt.com/cuteqt
Linux/Qt/嵌入式讨论群 http://qun.qq.com/air/5699823
离线hui@jluzh
只看该作者 4楼 发表于: 2010-03-16
能不能把opencv的lib加进去吗
离线blackwall
只看该作者 5楼 发表于: 2010-03-29
1.编译的时候没报错,说明 pro文件的 LIBS += -Lpath_to_lib -lxxx 参数没问题
2. 可能是运行的时候找不到so,运行时大概的库搜索路径顺序
  1)当前目录
   2) LD_LIBRARY_PATH参数设定目录
  3)  /etc/ld.so 下配置文件设定,修改后需root用户调用下ldconfig刷新下
  4)/lib ,/usr/lib目录
3。建议在qtcreator 里,project 里环境变量LD_LIBRARY_PATH增加 path_to_lib,或者直接把so文件拷贝到当前调用主程序当前目录
离线benbenmajia

只看该作者 6楼 发表于: 2010-04-12
如果自己写的,最好放到当前路径下,如果是库的在.pro文件中加入路径即可
安然.....
离线ccnuliughai
只看该作者 7楼 发表于: 2010-08-26
回 3楼(shiroki) 的帖子
版主,请教请教阿,我也遇到了这个问题。
按照网上的LIBS 方法去声明动态库,路径和后面的名称都是对的,试过很多次,也试过很多个目录,除了把动态库放在程序当前目录下不提示找不到之外,编译过程中,其他一律提示说找不到这个动态库。
只有当动态库放在目录下的时候,它才能够编译成功。压根不能把动态库文件放到其他文件夹下面,不方便管理阿,这个很郁闷。

另外,还发现一个问题,在把动态库放在程序当前目录下,顺利编译后,如果我使用IDE(我用的是Qt creator)中进行run,程序可以正常运行;但如果我是直接点击目录下面的可执行程序时,则一点反应都没有。我想,这个应该也是由于加载动态库不成功所造成的。于是,我把动态库复制到了lib目录下面,再点击可执行程序,发现可以运行了。真是纠结!不可能我每次都得把动态库文件拷贝一份到lib目录下吧?!!!
快速回复
限100 字节
 
上一个 下一个