(1299条消息) 如何生成dll文件 采用VS2017生成dll文件(动态库文件)和lib文件(静态库文件)以C语言为例_Love coldplay的博客-CSDN博客_vs2017生成dll文件
(1299条消息) DLL动态链接库生成及其调用_南柯梦三年-10K的博客-CSDN博客_动态链接库生成与调用
一、VS新建动态库
新建工程
新建工程如下所示:
在工程中加入自己的代码文件
add.h
#pragma once
extern "C"
__declspec(dllexport)int add(int a, int b);
注意:所有供外部调用的函数都需要加上 __declspec(dllexport)声明
__declspec(dllexport)用于Windows中的动态库中,声明导出函数、类、对象等供外面调用,省略给出.def文件。即将函数、类等声明为导出函数,供其它程序调用,作为动态库的对外接口函数、类等。
add.cpp
#include "DllNote.h"
int add(int a, int b)
{
return a + b;
}
右击项目重新生成,出现如下报错:
此时,双击错误提示,发现跳转到add.cpp文件中,这时我们可以通过在add.cpp文件上右击--属性
将预编译头改为不使用预编译头即可,再次重新生成,就可以顺利生成对应的dll和lib文件了;
二、利用Qt调用上述库文件
1、新建Qt工程---略
2、将生成的库和头文件保存到libs文件中
3、将上述生成的库文件拷贝到Qt工程下
4、 在pro文件中新增库文件说明
INCLUDEPATH += $$PWD/libs/include
win32:LIBS += -L$$PWD/libs/lib -lMyDll
5、将 项目中的Shadow build 取消
6、直接在源码中和普通函数调用一样使用即可
百度云盘:链接:https://pan.baidu.com/s/11b634VvKMIsGdahyBLpZ3Q 提取码:6666