利用VS2015将函数转化为dll文件并利用Qt调用dll文件

  • 生成dll文件
  1. 创建一个空的 Win32 Console Application项目:
  2. 设置为dll类型和空的工程:

    3.在工程中添加程序文件xxx.cpp和xxx.h,在头文件中添加导出和导入程序,在函数前添加extern “C”表示函数为C语言格式;如下所示:

    4.在cpp文件中添加函数,如果需要添加对应的依赖项,依赖项需与调用该dll文件的工程依赖项相同,或者调用该dll文件的工程需配对相同的依赖项;如图所示:

    5.运行程序,程序生成成功后工程中debug文件夹内则会有对应的dll和lib文件如下图所示:

  • Qt调用dll文件

Qt通过QLibrary库调用dll文件,调用dll文件中的函数时需将函数对应的参数和返回类型写清楚,代码如下所示:

QLibrary lib;
QString file_name = "C:/Users/cxz/Desktop/ImageCoGrad.dll";
lib.setFileName(file_name);
if (!lib.load())
{
QMessageBox::warning(nullptr, "提  示", "动态加载【" + file_name + "】或其依赖的DLL文件失败。");
qDebug() << lib.errorString();
}
typedef void(*MyPrototype)(unsigned char *,  unsigned char *, int, int);
MyPrototype myFunction = (MyPrototype)lib.resolve("ImageCoGrad");
if (myFunction)
qDebug() << "111";
else
{
qDebug() << lib.errorString();
}

 

展开阅读全文

没有更多推荐了,返回首页