【发布时间】:2015-03-12 04:53:54
【问题描述】:
我正在尝试使用 Qt for linux 系统编写 C++ 工具。我的工具使用共享库 我正在编写一个库来将数据推送到数据库。类似头文件中的方法
QString pushdata(QVariantMap params);
这个函数放入 lib 调用 libpushdata.so。我想加载动态 lib.so 我正在使用 dlfcn.h 和类似的方法:
void *handle;
QString (*pushdata)(QVariantMap*);
handle = dlopen("libpushdata.so", RTLD_LAZY);
if (!handle) {
fputs(dlerror(), stderr);
exit(1);
}
pushdata=dlsym(handle,"pushdata");
构建程序时出现错误:
从‘void*’到‘QString()(QVariantMap)的无效转换
我在谷歌上搜索如何使用动态加载库并获得类似here 的指令
和here 任何人都可以告诉我如何在共享库中加载我的方法QString pushdata(QVariantMap params)。我正在使用 Eclipse 和 Centos 6.5、Qt4.8
【问题讨论】:
标签: c++ linux qt shared-libraries dynamic-loading