Скомпилируйте Qt-проект и включите библиотеки Qt

0

У меня есть проект C++ с использованием Qt, и я работаю так, как ожидалось. Однако проблема заключается в том, когда я копирую исполняемый файл в стандартную установку ОС (например, Windows или Linux) после выполнения. Я получаю ошибки QtWidgets или некоторые другие библиотеки Qt.

Я пробовал ссылаться на Qt Documentation, но я не могу найти решение или пример того, что мне нужно. Это имеет какое-то отношение к Static и Dynamic Building... но не может найти хороший пример или учебник.

Я просмотрел учебник http://www.qtcentre.org/wiki/index.php?title=Deploying_Qt_Applications, но это не совсем эффективное решение.

В основном я хочу, чтобы система включала необходимые библиотеки Qt вместе с окончательным скомпилированным файлом. Как я могу снять его?

Теги:
qt
qt5

1 ответ

1

Вы можете сделать сценарий, который копирует ваши DLL (или.so * файлы) в исполняемую папку. После того, как вы добавите дополнительную команду Makefile в файл проекта:

theproject.pro:

OTHER_FILES += copy.script    # Assuming your copy script is called "copy.script" 
deploylibs.target = deploylibs
deploylibs.command = ./copy.script    # Launching the script

QMAKE_EXTRA_TARGETS += deploylibs

Теперь вы можете развернуть свои библиотеки, используя команду (n) make deploylibs.

NB: есть очень полезный инструмент под названием " Dependency Walker ", чтобы найти нужные DLL. Это только для Windows. Что касается Linux и его *.so* файлов, вы можете использовать команду ldd:

>$: ldd theexecutable
    alib.so => /path/to/library/on/your/computer.so
...

Ещё вопросы

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