C++调用C++写的DLL

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;
}


b.编译该项目,生成对应的DLL以及Lib文件:

比如生成到了该路径之下:

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成功。


除了上述使用方法外,在不同的情况下还有不同的调用方式,详情请参考各大网络资源。

猜你喜欢

转载自blog.csdn.net/sudazf/article/details/52117734