创建动态链接库

  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添加进来;

  3. .pro文件中会增加如下几行:

  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的文件夹内,然后点击运行,如下即成功。

最新文章

  1. Chrome插件整理
  2. DFS:Curling 2.0(POJ 3009)
  3. html --- VML --- javascript --- 旋转矩形
  4. php重定向 htaccess文件的编写
  5. logback logback.xml 常用配置详解
  6. UML--一些图
  7. xcode 7 添加空模板
  8. 12.04 如何更专业的使用Chrome开发者工具
  9. C#实现阻止关闭显示器和系统待机
  10. 关于SourceTree License
  11. Expression Blend4安装破解
  12. 100 - k8s源码分析-准备工作
  13. samba介绍和安装
  14. JS“盒子模型”
  15. Vue将px转化为rem适配移动端
  16. 通过Task异步加快对数组的运算
  17. kafka系列文章索引(结束)
  18. 基础selenium+Python(定位、等待、打印)
  19. PCA算法的最小平方误差解释
  20. MPTCP 源码分析(四) 发送和接收数据

热门文章

  1. Java 进阶P-8.3+P-8.4
  2. 创建型模式 - 建造者模式Builder
  3. 2023计算机领域顶会(A类)以及ACL 2023自然语言处理(NLP)研究子方向领域汇总
  4. 真正“搞”懂HTTP协议12之缓存代理
  5. 【一句话】Redis的3中缓存策略
  6. 【rust】rsut基础:模块的使用一、mod 关键字、mod.rs 文件的含义等
  7. 解决org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)问题
  8. 【译】.NET 7 中的性能改进(一)
  9. Cesium中各种坐标以及相互转换(七)
  10. [AI-ML]机器学习是什么?一起了解!(一)