1. 创建DLL项目:
a.新建一个空的win32 DLL项目,添加一个简单的头文件和一个cpp文件:
这里,头文件位于该路径之下:
D:\Code\Demos\Test_Win32DLL_V1\Test_Win32DLL_V1
头文件和cpp文件内容分别是:
#pragma once #include <string> using namespace std; #define DLLSPEC __declspec( dllexport) namespace MyTestNamespace{ class DLLSPEC MyTestClass { private: public: int Add(int a,int b); }; }
#include "MyTestHead.h" using namespace MyTestNamespace; int MyTestClass::Add(int a,int b) { return a+b; }
比如生成到了该路径之下:
D:\Code\Demos\Test_Win32DLL_V1\Debug
2. 创建测试程序项目:
a.在当前解决方案项目下新增一个新的win32 控制台应用程序:
b.鼠标右击该项目工程名,选择【Properties】->【C/C++】->【General】->【Additional Include Directories】,加入DLL中的头文件路径(这里针对我们自己开发的DLL或者第三方给了我们头文件的情况):
c.再选择【Linker】->【Additional Library Directories】,加入刚刚生成DLL和Lib文件的路径:
d.接着在【Linker】->【Input】->【Dependencies】,填写lib名称(包含后缀名,有多个文件需要换行):
e.最后在stdafx.h中引入MyTestHead.h头文件,并且在main函数中写测试代码:
#include "stdafx.h" using namespace MyTestNamespace; using namespace std; int _tmain(int argc, _TCHAR* argv[]) { MyTestClass* Test=new MyTestClass(); int result=Test->Add(100,12); std::cout<<result<<endl; delete Test; return 0; }
编译运行该程序:
调用DLL成功。
除了上述使用方法外,在不同的情况下还有不同的调用方式,详情请参考各大网络资源。