TestDll项目
新建项目——选择Library——C++库,下一步
TestDll.h 文件
#include "testdll_global.h"
class TESTDLLSHARED_EXPORT TestDll
{
public:
TestDll();
};
extern "C" TESTDLLSHARED_EXPORT int add(int a,int b);
#endif // TESTDLL_H
TestDll.cpp文件
#include "testdll.h"
TestDll::TestDll()
{
}
int add(int a, int b){
return a+b;
}
然后构建项目,生成TestDll文件
DemoUseDll项目
真不要核心代码如下 注意 把上边TestDll生成的DLL文件 复制到和exe 相同的目录下
//注意DLL文件放到和生成的exe,同一个目录下
QLibrary mylib("TestDll.dll"); //声明所用到的dll文件
int result;
//判断是否正确加载
if (mylib.load())
{
std::cout << "DLL load is OK!"<<:endl>
//调用外部函数 add()
Fun add = (Fun)mylib.resolve("add");
//是否成功连接上 add() 函数
if (add)
{
std::cout << "Link to add Function is OK!"<<:endl>
//这里函数指针调用dll中的 add() 函数
result = add(5,6);
std::cout <
}
else
std::cout << "Link to add Function failed!!"<<:endl>
}
//加载失败
else
std::cout << "DLL is not loaded!"<<:endl>