• 5023阅读
  • 3回复

动态库调用的问题。 [复制链接]

上一主题 下一主题
离线dayong419
 
只看楼主 倒序阅读 楼主  发表于: 2009-04-18
我现在是这样调用的:
QLibrary lib("./libmylib.so");
lib.load();
tepdef int(*add)(int a,int b);
add myFunction = (add) lib.resove("add");
int result = myFuntion(4,6);
这样是对的

但是我觉得这样使用很麻烦,我想调用动态库中的函数(add)的时候直接拿过来使用,但是编译的时候总是提示add没有定义不知道有没有办法可以直接调用呢?
离线zougw
只看该作者 1楼 发表于: 2009-04-19
编译的时候总是提示add没有定义 -- 因为你没有把libmylib.h加入到代码中

同时你还要把libmylib.so放到你的程序找得到得地方并且在Makefile或者.pro文件中加入libmylib.so的路径
离线dayong419
只看该作者 2楼 发表于: 2009-04-19
但是我已经include mylib.h了
在.pro文件里是不是这样写的:
LIBS+=-L./libmylib.so
这样写我部知道有没有错,我这样写是不行的。
如果有错请给个样子吧     呵呵
离线dayong419
只看该作者 3楼 发表于: 2009-04-22
解决了,但是用文档里说的那样子(LIBS+=./Llibpath -lname)好像行不通,不解。
快速回复
限100 字节
 
上一个 下一个