Qt Creator / Linux: настройка опции компилятора / компоновщика -ldl для динамических библиотек

Я все погуглил! Признательность всем, кто может мне помочь …

Я построил test.so и хотите вызвать его динамически, используя dlopen (), dlsym () и т. д., определенные в dlfcn.h

я может скомпилировать моя вызывающая программа (main.cpp) в командной строке без ошибок

g++ main.cpp -ldl -o myprog

Без ключа -ldl я получаю сообщение об ошибке: неопределенная ссылка dlopen ().
Кроме того, если параметр -ldl не помещен после исходного файла в списке аргументов g ++, я получаю ту же ошибку.

У меня такой вопрос: как я могу скомпилировать свой main.cpp в Qt Creator?
Qt Creator сообщает об этой же ошибке: неопределенная ссылка dlopen ()

Я пытался напрямую добавить -ldl к флагам в Makefile (CFLAGS, CXXFLAGS, LFLAGS), но безрезультатно. (Возможно, флаги вставляются перед исходными файлами, где -ldl не работает?)

Вот мой main.cpp:

#include <dlfcn.h>
int main()
{

void* handle = dlopen("./test.so", RTLD_LAZY);

return 0;
}

Я использую Qt Creator 2.4.1 на Linux

Большое спасибо 🙂

4

Решение

В вашем project_name.pro файл, вы должны добавить в LIBS переменная вот так:

LIBS += -ldl
8

Другие решения


По вопросам рекламы [email protected]