Спецификация системы: Ubuntu 16.04, QtCreator 3.5.1 на основе Qt5.5.1
В проекте на C я использую dlopen
и друзей для загрузки общей библиотеки.Библиотека использует некоторые механизмы из основного приложения.Теперь, если я скомпилирую вручную из терминала, все работает просто отлично.Когда я использую QtCreator для сборки проекта, вызовы из библиотеки в основное приложение завершаются со следующей ошибкой: / Программирование / C / emme_1 / emme_1: ошибка поиска символа: / Программирование / C / emme_1 / modtest / test.итак: неопределенный символ: pop .Здесь pop - это функция в главном приложении, которая называется emme_1.Обратите внимание, что ошибка возникает, только если функция библиотеки вызывает другую функцию внутри основного приложения.Если функция библиотеки пуста и вызывается из приложения, она работает.
Это мой очень простой .pro-файл:
QMAKE_CFLAGS += -DTRACE_ASM
QMAKE_CFLAGS += -rdynamic
QMAKE_CFLAGS += -ldl
LIBS += /usr/lib/x86_64-linux-gnu/libdl.so
Я считаю, что он содержит все необходимое для требуемой функциональности, но, возможно, я что-то упустил.