Я пытаюсь написать инструмент C++, используя Qt для системы Linux. мой инструмент, использующий общую библиотеку. Я пишу библиотеку для передачи данных в базу данных. такой метод в заголовочном файле
QString pushdata(QVariantMap params);
этот fucion поместил в lib call libpushdata.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)
Я ищу в Google, как использовать библиотеку динамической загрузки, и получаю такую инструкцию здесь и здесь любой может показать мне, как загрузить мой метод QString pushdata(QVariantMap params)
в общую библиотеку. Я использую Eclipse и Centos 6.5, Qt4.8