引用cuda_runtime.h文件,在cpp源文件中引用,可以编译运行,但在h头文件中引用却不可以?

发布于 2022-09-11 15:01:25 字数 1958 浏览 23 评论 0

问题描述

散了吧~把之前的编译结果都删除了重新编译就好了。。。

环境:qtcreator 工程
引用cuda_runtime.h文件,在cpp源文件中引用,可以编译运行,但在h头文件中引用却不可以?

问题出现的环境背景及自己尝试过哪些方法

在cpp中引用是这么写的

#include "gpucalculatethread.h"
#include <cuda_runtime.h>
#include <cublas_v2.h>
#include <helper_cuda.h>

.pro文件是这么写的

INCLUDEPATH += \
            $$(CUDA_COMMON_PATH)  \
            $$(CUDA_INCLUDE_PATH) \
            $$(VTK_INCLUDE_PATH)  \
            ../../Include

此时编译运行良好;

我将其改到头文件里

#include <cuda_runtime.h>
#include <cublas_v2.h>
#include <helper_cuda.h>

编译就报错

fatal error C1083: 无法打开包括文件: “cuda_runtime.h”: No such file or directory

后来我修改了头文件里的引用,改成了绝对路径

#include "C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v9.2/include/cuda_runtime.h"
#include "C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v9.2/include/cublas_v2.h"
#include "C:/ProgramData/NVIDIA Corporation/CUDA Samples/v9.2/common/inc/helper_cuda.h"

再次报错

c:\program files\nvidia gpu computing toolkit\cuda\v9.2\include\cublas_api.h(75): fatal error C1083: 无法打开包括文件: “cuda_fp16.h”: No such file or directory

我又修改了.pro文件

INCLUDEPATH += \
            #$$(CUDA_COMMON_PATH)  \
            #$$(CUDA_INCLUDE_PATH) \
            $$(VTK_INCLUDE_PATH)  \
            "C:/ProgramData/NVIDIA Corporation/CUDA Samples/v9.2/common/inc/" \
            "C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v9.2/include/" \
            ../../Include

相同的错误提示

c:\program files\nvidia gpu computing toolkit\cuda\v9.2\include\cublas_api.h(75): fatal error C1083: 无法打开包括文件: “cuda_fp16.h”: No such file or directory

这个<cuda_fp16.h>是在cublas_api.h里被引用的。
在源文件里引用.h文件和在.h里引用头文件在编译时有什么区别?
我该怎么改?
请大佬指点一下~需要补充什么信息请指明。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文