链接库的创建:
1.创建动态链接库
在头文件中添加以下代码
#pragma once #ifdef __DLLEXPORT #define __DLL_EXP _declspec(dllexport) // 导出函数 - 生成dll文件时使用 #else #define __DLL_EXP _declspec(dllimport) // 导入函数 -使用dll是使用 #endif // __DLLEXPORT // 判断是否是c++ #if defined(__cplusplus)||defined(c_plusplus) extern "C" { #endif __DLL_EXP int add(int a, int b); __DLL_EXP int sub(int a, int b); #if defined(__cplusplus)||defined(c_plusplus) } #endif
2.创建静态链接库
链接库的调用:
方法1:
直接将文件拷贝到目录下
直接把Dll1.h,Dll1.lib和Dll1.dll文件,复制到工程目录下面,
在上述代码的using namespace std;下面添加一句
方法2:
在VC目录中设置
2.1 如果整个工程只有C++文件。可以直接在VC目录里设置。
在VC++目录下的包含目录里添加Dll1.h所在的路径,在库目录里添加Dll1.lib所在的路径。
2.2 在链接器,输入里的附加依赖项里添加Dll1.lib
2.3 在生成事件,后期生成事件里的命令行里添加以下命令
将dll文件编译后拷贝到执行目录下
说明:copy只能拷贝文件,
xcopy可以拷贝整个文件夹
方法3:
3.1 添加Dll1.h的包含目录
3.2 添加Dll1.lib的库目录
3.3 后面的与2.2/2.3两步相同
注意:方法2和方法3中,配置选项中的debug/release以及平台x64或者x86需要与编译时的选项一致
静态链接库的调用:与动态链接库的调用方法类似,少了.dll文件