[QT] Qt Creator создает динамическую библиотеку (DLL) и вызывает ее

1. Генерация динамической библиотеки

1. Сначала создайте файл библиотеки

вставьте сюда описание изображения

2. Измените тип на разделяемую библиотеку, настройте имя проекта и путь к проекту.

вставьте сюда описание изображения

3. Выберите компилятор

вставьте сюда описание изображения

4. Выберите модули, необходимые для динамической библиотеки.

вставьте сюда описание изображения

5. Настройте имя класса, нажмите «Далее».

вставьте сюда описание изображения

6. Нажмите Далее

вставьте сюда описание изображения

7. Обзор проекта

вставьте сюда описание изображения

8. Скопируйте содержимое заголовочного файла testdynamiclib_global.h в заголовочный файл testdynamiclib.h.

вставьте сюда описание изображения

9. Затем, как показано ниже

вставьте сюда описание изображения

10. Определите четыре функции сложения, вычитания, умножения и деления в заголовочном файле testdynamiclib.h.

вставьте сюда описание изображения

11. Просто реализуйте функцию функции в исходном файле testdynamiclib.cpp.

вставьте сюда описание изображения

12. Щелкните проект правой кнопкой мыши, выберите qmake для компиляции и запуска.

вставьте сюда описание изображения

13. Щелкните проект правой кнопкой мыши и выберите «Перестроить».

вставьте сюда описание изображения

14. Стройте успешно

вставьте сюда описание изображения

15. Запустите проект

вставьте сюда описание изображения

16. Игнорируйте этот маркер, успешно скомпилируйте и сгенерируйте файлы библиотеки dll и lib.

вставьте сюда описание изображения
Примечание. Сгенерированный файл библиотеки dll находится в отладке в сборке, проверьте расположение, в котором он хранится, при сборке проекта.

Во-вторых, вызов динамической библиотеки

1. Новое строительство

вставьте сюда описание изображения

2. Настройте имя проекта

вставьте сюда описание изображения

3. Выберите компилятор

вставьте сюда описание изображения

4. Настройте имя класса (здесь я использую его по умолчанию для демонстрации)

вставьте сюда описание изображения

5. Нажмите Готово сразу

вставьте сюда описание изображения

6. Нажмите «Готово», чтобы просмотреть проект.

вставьте сюда описание изображения

7. Затем выполните поиск в месте создания динамической библиотеки и щелкните по нему:

вставьте сюда описание изображения
Примечание. Возможны как отладка, так и выпуск, в зависимости от вашего выбора при сборке проекта. По умолчанию используется отладка.

8. Скопируйте .dll и .lib в файл libCall

вставьте сюда описание изображения
Также скопируйте testdynamiclib.h из testdynamiclib в libCall.
вставьте сюда описание изображения

9. В финальном проекте libCall:

вставьте сюда описание изображения

10. В основную функцию main.cpp добавить заголовочный файл testdynamiclib.h, вызвать и вывести результат функции

вставьте сюда описание изображения

11. Скопируйте три файла dll, lib и h в libCall в папку, где скомпилирован проект.

вставьте сюда описание изображения

12. Расположение, в котором компилируется libCall, выглядит следующим образом:

вставьте сюда описание изображения

13. Скопировать сюда

вставьте сюда описание изображения

14. Щелкните проект правой кнопкой мыши и выберите Добавить библиотеку.

вставьте сюда описание изображения

15. Выберите внешнюю библиотеку

вставьте сюда описание изображения

16. Выберите расположение файла библиотеки

вставьте сюда описание изображения

17. Добавить файл библиотеки

вставьте сюда описание изображения

18. Нажмите Далее

вставьте сюда описание изображения

19. Готово

вставьте сюда описание изображения

20. Эта часть автоматически добавляется при добавлении внешней библиотеки (если программа сообщает об ошибке, вы можете удалить ее здесь)

вставьте сюда описание изображения

21. Запустите проект, получите соответствующий результат, вызов динамической библиотеки выполнен успешно.

вставьте сюда описание изображения
Примечание. При перестроении проекта сначала очистите, затем выполните qmake, а затем перестройте, чтобы предыдущие неверные результаты не повлияли на текущий.

Guess you like

Origin blog.csdn.net/Cappuccino_jay/article/details/126096774