引用cuda_runtime.h文件,在cpp源文件中引用,可以编译运行,但在h头文件中引用却不可以?
问题描述
散了吧~把之前的编译结果都删除了重新编译就好了。。。
环境: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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论