Зависимости библиотеки во время выполнения

0

В нашем проекте мы имеем динамическую библиотеку на основе Qt, которая содержит множество вспомогательных функций для разных полей: sql, network, gui, xml processing и т.д. При создании нашей библиотеки она должна быть связана с несколькими другими стандартными библиотеками, такими как QtCore, QtGui, QtSql и т.д.

Я хочу создать простое приложение, которое использует несколько функций из нашей библиотеки. Я создаю свое приложение с помощью MinGW в Windows.

Я не понимаю, почему моему приложению во время выполнения нужны все библиотеки, с которыми связана наша библиотека. Я имею в виду, что мое приложение не использует какой-либо материал sql, но QtSql по-прежнему необходим.

Предположим, мне нужно использовать только одну функцию для обработки xml. Я хочу иметь эту конфигурацию: мое приложение + наш lib + QtXml. Является ли это возможным? Я не хочу отправлять несколько библиотек, которые я не использую.

Теги:
dll
qt
dependencies

1 ответ

2
Лучший ответ

Пока вы связываетесь с QtSQL, библиотека будет загружена независимо от того, используете вы ее или нет, потому что от нее зависит одна из функций внутри вашей библиотеки. Если вы хотите загрузить только некоторые библиотеки, вы можете разделить свою собственную библиотеку или использовать dlopen и друзей для библиотек Qt.

  • 0
    На Windows это будет LoadLibrary и друзья ;-)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню