一、生成C语言的动态链接库
1、 使用vs2013创建程序项目时选择win32-dll
2、 在.h文件中加入条件编译
#ifndef 大写头文件名_H
#define 大写头文件名_H
#ifndef _DLLAPI
#define DLLAPI __declspec(dllexport)
#else
#define DLLAPI __declspec(dllimport)
#endif
函数返回值类型 DLLAPI 函数名(参数)
……
#endif
如图所示:
3、 在.c文件中不用加其他东西
4、 右键项目生成
5、 将生成的.dll文件拖入dependenciesGui工具中查看是否生成成功,如果有相应的接口就是成功了
二、在Qt中调用C语言的动态链接库
1、 在项目文件中添加一个文件夹lib,将.lib、.bin、.h文件放到文件夹中
2、 右键项目-添加库,选择外部库,其中
① 库文件路径选择要添加的lib文件夹下的.lib文件
② 包含路径选择头文件.h所在的文件夹路径(即lib文件夹)
③ 取消“为debug版本添加‘d’作为后缀”(这个后缀用来调试打断点,用不到应该)
④ 只选Windows平台(?好像也可以三个平台都选?)
3、 添加一个文件.pri,内容如下(保存lib文件夹下的头文件),将此.pri文件放到lib文件夹中,并将该文件路径(例如include ($$PWD/lib/lib.pri))添加到项目的.pro下
4、 在需要用动态链接库的文件里添加相应头文件即可使用
extern "C"
{
#include "testdll.h"
}
添加头文件截图如下:
实际使用过程截图如下: