• 4306阅读
  • 4回复

程序中加载动态库错误 [复制链接]

上一主题 下一主题
离线liuwg
 

只看楼主 正序阅读 楼主  发表于: 2011-05-12
在*.pro文件中已添加了LIBS += -L/home/test -ltestLib,在运行时总是提示:
testCallLib: error while loading shared libraries: libtestLib.so.1: cannot open shared object file: No such file or directory
把libtestLib.so文件放到/usr/lib下就可以正常运行,放在当前目录下的话就有问题
离线liuwg

只看该作者 4楼 发表于: 2011-05-12
在*.pro文件中,加入
unix:QMAKE_RPATHDIR+=$$PWD/lib
可以指定到当前目录下lib中的库
离线dbzhang800

只看该作者 3楼 发表于: 2011-05-12
这个提到一个方法:
http://wiki.ubuntu.org.cn/Compiling_C

这儿用了另一个办法:
http://blog.csdn.net/dbzhang800/archive/2011/04/12/6317006.aspx

另外:我记得在这个论坛上比较全面回答过一次这个问题,你可以找找看(反正我不知道帖子在哪儿了)
离线liuwg

只看该作者 2楼 发表于: 2011-05-12
那运行时怎么指定动态库的路径?
离线dbzhang800

只看该作者 1楼 发表于: 2011-05-12
感觉你搞混了两个概念,注意:
1. 链接时 需要动态库 (通过 LIBS += -L/home/test -ltestLib 指定)
2. 运行时 需要动态库 (与前者无关)
快速回复
限100 字节
 
上一个 下一个