参考资料
QT 调用 CUDA实现GPU加速图像处理(chapter1)_qt 如何使用cuda加速-CSDN博客
平时工作用Qt多一些,需要将封装的CUDA函数在Qt里调用,这里举一个简单的例子。
1. 建立vs dll工程
在vs2019中建立一个dll工程,代码的例子和之前博客里的一致:
CUDA学习笔记02:测试程序hello world-CSDN博客
新建dll工程:
代码结构如下:
里边的cuda_utils.cu和之前博客里的一样,项目的配置过程也是完全一样的。framework.h和pch.h是系统建立的,具体含义可以查询其他资料,我们建一个头文件utils_gpu.h,用来告诉外部调用的接口:
只要在固定写法后边写上我们函数的定义即可。记得在cuda_utils.cu中添加头文件引用utils_gpu.h,否则无法顺利生产.lib。对项目重新生成,没有问题去目录下查看:
ok,成功生成dll。
2. 在Qt中调用
打开Qt新建一个界面项目(控制台项目也可以),记得项目的目录修改一下:
把shadow build那个选项换掉,选择源文件下的目录进行库生成。
一般做项目都会将第三方库放到一个单独的文件夹中,比如叫3rdparty,我们假如封装了一个CUDA库叫utils_gpu,就可以放在3rdparty中,我们的目录树结构大概是这样:
|--<your_path>
|--<your_project>
|--3rdparty
|--utils_gpu
|--include
|--lib
<your_project>就用来放你自己的Qt项目,然后你建立自己的3rdparty,建立好utils_gpu以及对应目录,将你在vs中的utils_gpu.h放入include目录中,然后将你构建的dll以及lib文件放入lib文件夹中:
include目录:
lib目录:
建立好Qr项目后,在项目中添加外部库:
添加好后,我的构建文件pro是这样的:
这样就可以了。在主线程中使用我们的CUDA函数:
在控制台看结果:
芜湖,hello cuda。成功调用~