Programación de aplicaciones QT: QT5 bajo el sistema de Windows crea una biblioteca dinámica DLL y completa la llamada

1. Introducción medioambiental

Sistema operativo:  win10 de 64 bits

Versión QT:  QT5.12.6

Compilador:  MinGW de 32 bits

En segundo lugar, cree una biblioteca dinámica

2.1 Formas de crear una biblioteca 1 

El asistente de creación de proyectos QtCreate tiene una opción de proyecto para crear una biblioteca. Después de crear el proyecto de acuerdo con el asistente, escriba el código, haga clic en el "Martillo pequeño" en la esquina inferior izquierda de QtCreate , la compilación se completa y el El archivo de biblioteca se puede generar en el directorio de compilación.

 

2.2 Formas de crear una biblioteca 2

En circunstancias normales, es posible que el proyecto se haya creado antes y las funciones se hayan completado, y ahora quiero generar un archivo de biblioteca para que otros lo llamen. En este momento, solo es necesario modificar el archivo de proyecto xxx.pro.

Agregue las siguientes dos líneas de código al archivo de proyecto original.

TEMPLATE = lib

DEFINES += DLL_CREATETEST_LIBRARY

Después de la modificación, simplemente cree el proyecto. 

 

La biblioteca dinámica desarrollada y producida en VS + QT se puede configurar directamente en las propiedades del proyecto de VS:

 

Tres, llame a la biblioteca dinámica

 3.1 Cree un nuevo proyecto y llame a la biblioteca dll

3.2 Copiar archivos de biblioteca y archivos de encabezado

(1) Copie todos los archivos de encabezado utilizados al generar la biblioteca (el proyecto original) al directorio del nuevo proyecto (el proyecto de prueba que llama a la biblioteca).

(2) Copie la biblioteca dinámica dll generada por el proyecto original en el directorio del nuevo proyecto (el proyecto de prueba que llama a la biblioteca).

  (3) Modifique el archivo de proyecto xxx.pro

  Agrega el código:

LIBS += $$PWD/DrawTimeLine.dll

 

(4). Modifique el código de función principal y llame a la función de prueba

#include <QApplication>
#include "widget.h"
#include "drawtimeline.h"

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget w;
    w.show();
    return a.exec();
}

 

3.3 Finalizar la prueba de llamada

Una vez completada la compilación, también debe copiar los archivos de biblioteca dinámica utilizados en el directorio que acaba de compilar. De lo contrario, el archivo de la biblioteca no se puede encontrar durante el tiempo de ejecución.

 

Supongo que te gusta

Origin blog.csdn.net/xiaolong1126626497/article/details/112158922
Recomendado
Clasificación