返回顶部

【QT】创建动态链接库及使用

创建动态链接库

  1. 创建一个项目
  2. 选择library的C++库,下一步。
  3. 选择共享库,输入动态库的名字,选择创建路径,下一步
  4. 选择编译环境,下一步
  5. 选择QTCore模块,该模块提供核心的非图形用户接口功能,所有其它模块都依赖这个模块,继续下一步,直到完成。
    会看到工程中有如下文件:

编写如下代码:
testdll.h

#ifndef TESTDLL_H
#define TESTDLL_H

#include "testdll_global.h"

class TESTDLLSHARED_EXPORT TestDll
{

public:
    TestDll();

    int sum(int a,int b);
};

#endif // TESTDLL_H
`testdll.cpp`
```cpp
#include "testdll.h"


TestDll::TestDll()
{
}

int TestDll::sum(int a, int b)
{
    return a+b;
}
  1. 构建项目,会生成如下TestDll.dllTestDll.lib文件。

使用动态链接库

  1. 创建一个控制台应用程序TestExe;
  2. 把刚刚生成的TestDll.lib文件放到TestExe程序目录下;然后选中项目TestExe,右键选择添加库,选择外部库,把TestDll.lib添加进来;
    image
  3. .pro文件中会增加如下几行:
    image
  4. 编写main.cpp
#include <QCoreApplication>

#include <stdio.h>
#include "testdll.h"
#include "testdll_global.h"

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    TestDll test;
    printf("ret = %d\n",test.sum(3,4));

    return a.exec();
}
  1. 然后执行qmake-构建,构建结束后要把TestDll.dll放到生成TestExe.exe的文件夹内,然后点击运行,如下即成功。
    image
posted @ 2022-11-01 11:52  Zoya23  阅读(404)  评论(0编辑  收藏  举报